实战3 Cacti监控nginx和mysql

在监控方面,两周的心得与大家共勉。

首先说说在线上跑的监控(cacti),两周下来没有出现问题,日志也没有出现报错的迹象,绘图,获取数据都是正常的。如下图所示:

至于监控,对于cacti来说,绘图是很直观的,一目了然,学会使用cacti,更重要的是要学会看坐标,还有坐标下面更详细的数值。

因为更多的模拟环境搭建是在vmware workstation上安装的,由于虚拟机的特殊性,快照,会使物理主机与vmware的主机时间

照成不一致,因此都采用ntpdate保持时间一致。

[[email protected] ~]# crontab -e
*/1 * * * * /usr/sbin/ntpdate -u asia.pool.ntp.org 
[[email protected] ~]# service crond start

监控的信息: 硬盘(本地硬盘和挂在硬盘)、内存、cpu的负载、终端用户的登陆个数、主机当前的进程数

接下来就来看看cacti在监控应用层服务方面的功能!

cacti监控nginx

cacti监控mysql

一、添加监控nginx监控模板

1、启动nginx的状态监控

编译安装nginx,更多模块功能的启用可以使用

然后,在编译nginx的时候加入参数--with-http_stub_status_module

2、编辑配置文件nginx.conf,添加如下

3、重启nginx服务

4、访问nginx的状态监控页面

5、下载cacti监控nginx的模板

6、模板拷贝、模板导入

注:把模板中以.pl的两文件拷贝到你的cacti目录下的scripts/目录下,然后把以.xml的文件导入到cacti中,导入方法

导入成功后如下所示:

7、测试模板是否能够正常使用

二、安装nginx监控

1、安装net-snmp服务

[[email protected] ~]# yum install -y net-snmp net-snmp-utils net-snmp-libs

2、配置snmpd配置文件并测试服务

[[email protected] ~]# cd /etc/snmp/
[[email protected] snmp]# cp snmpd.conf snmpd.conf.bak
[[email protected] snmp]# vim snmpd.conf 
#修改
 view    systemview    included   .1.3.6.1.2.1
[[email protected] snmp]# service snmpd start
正在启动 snmpd:                                           [确定]
[[email protected] snmp]# snmpnetstat -v 2c -c public -Can -Cp tcp localhost
Active Internet (tcp) Connections (including servers)
Proto Local Address          Remote Address         (state)
tcp   *.22                   *.*                   LISTEN
tcp   *.80                   *.*                   LISTEN
tcp   *.3306                 *.*                   LISTEN
tcp   127.0.0.1.199          *.*                   LISTEN
tcp   127.0.0.1.3306         127.0.0.1.34893       ESTABLISHED
tcp   127.0.0.1.3306         127.0.0.1.34894       ESTABLISHED
tcp   127.0.0.1.3306         127.0.0.1.34895       ESTABLISHED
tcp   127.0.0.1.3306         127.0.0.1.34899       ESTABLISHED
tcp   127.0.0.1.3306         127.0.0.1.34900       ESTABLISHED
tcp   127.0.0.1.3306         127.0.0.1.34901       ESTABLISHED
tcp   127.0.0.1.3306         127.0.0.1.34907       ESTABLISHED
tcp   127.0.0.1.3306         127.0.0.1.34908       ESTABLISHED
tcp   127.0.0.1.3306         127.0.0.1.34909       ESTABLISHED
tcp   127.0.0.1.9000         *.*                   LISTEN
tcp   172.16.3.164.22        172.16.3.127.51102    ESTABLISHED
tcp   172.16.3.164.22        172.16.3.127.51230    ESTABLISHED

3、添加远程监控主机

4、添加nginx的监控模板

5、启用监控主机模板,如nginx

6、创建graphs组为Remote Host,并将nginx加入到这个组中。

6、监控nginx状态如下,等一会看看是否能绘图

三、apache自带的ab压力测试工具,来测试队绘图是否有影响

1、ab测试1000的并发量

[[email protected] ~]# ab -c 1000 -n 1000    #反复的多测试几次
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 172.16.3.164 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
^[[ACompleted 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software:        nginx
Server Hostname:        172.16.3.164
Server Port:            80
Document Path:          /index.html
Document Length:        186 bytes
Concurrency Level:      1000
Time taken for tests:   1.307 seconds
Complete requests:      1000
Failed requests:        265
   (Connect: 0, Receive: 0, Length: 265, Exceptions: 0)
Write errors:           0
Non-2xx responses:      735
Total transferred:      41371480 bytes
HTML transferred:       41190245 bytes
Requests per second:    765.32 [#/sec] (mean)
Time per request:       1306.640 [ms] (mean)
Time per request:       1.307 [ms] (mean, across all concurrent requests)
Transfer rate:          30920.40 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:      114  123   6.2    122     135
Processing:   134  368 312.1    158    1079
Waiting:      101  227 143.7    157     570
Total:        259  492 316.0    273    1200
Percentage of the requests served within a certain time (ms)
  50%    273
  66%    613
  75%    769
  80%    866
  90%   1033
  95%   1113
  98%   1188
  99%   1196
 100%   1200 (longest request)
[[email protected] ~]# ab -c 1000 -n 1000 http://172.16.3.164/index.html
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 172.16.3.164 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software:        nginx
Server Hostname:        172.16.3.164
Server Port:            80
Document Path:          /index.html
Document Length:        186 bytes
Concurrency Level:      1000
Time taken for tests:   1.329 seconds
Complete requests:      1000
Failed requests:        205
   (Connect: 0, Receive: 0, Length: 205, Exceptions: 0)
Write errors:           0
Non-2xx responses:      795
Total transferred:      32081560 bytes
HTML transferred:       31906265 bytes
Requests per second:    752.26 [#/sec] (mean)
Time per request:       1329.324 [ms] (mean)
Time per request:       1.329 [ms] (mean, across all concurrent requests)
Transfer rate:          23568.11 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:      116  123   6.1    121     144
Processing:   120  348 306.9    159    1079
Waiting:       91  255 181.6    158     670
Total:        251  471 305.9    277    1203
Percentage of the requests served within a certain time (ms)
  50%    277
  66%    392
  75%    704
  80%    790
  90%   1016
  95%   1101
  98%   1141
  99%   1192
 100%   1203 (longest request)

2、查看状态监控页面

又反复的多次压力测试的结果

3、cacti状态监控图

cacti监控mysql

1、下载cacti监控mysql的模板

下载地址:http://code.google.com/p/mysql-cacti-templates/

软件:better-cacti-templates-1.1.8.tar.gz

2、解压模板

[[email protected] ~]# ll better-cacti-templates-1.1.8.tar.gz 
-rw-r--r--. 1 root root 275805 7月   2 13:25 better-cacti-templates-1.1.8.tar.gz
[[email protected] ~]# tar xf better-cacti-templates-1.1.8.tar.gz 
[[email protected] ~]# cd better-cacti-templates-1.1.8
[[email protected] better-cacti-templates-1.1.8]# ll scripts/
总用量 108
-rw-rw-r--. 1 cactiuser cactiuser 52856 1月  23 2011 ss_get_by_ssh.php
-rw-rw-r--. 1 cactiuser cactiuser 53624 1月  23 2011 ss_get_mysql_stats.php
[[email protected] scripts]# cd /var/www/html/cacti0.88/scripts/
[[email protected] scripts]# chmod 755 ss_get_
ss_get_by_ssh.php       ss_get_mysql_stats.php  
[[email protected] scripts]# chmod 755 ss_get_*

3、修改监控mysql响应的php脚本

[[email protected] ~]# cd better-cacti-templates-1.1.8/scripts/
[[email protected] scripts]# vim ss_get_mysql_stats.php 
$mysql_user = ‘cactiuser‘;  #被监控mysql的账户
$mysql_pass = ‘cactiuser‘;  #被监控mysql账户的密码
$mysql_port = 3306;
$mysql_ssl  = FALSE;   # Whether to use SSL to connect to MySQL.
$heartbeat  = ‘‘;      # db.tbl in case you use mk-heartbeat from Maatkit.
$cache_dir  = ‘/tmp‘;  # If set, this uses caching to avoid multiple calls.
$poll_time  = 300;     # Adjust to match your polling interval.

4、导入监控mysql的模板,如下图

选择导入mysql监控模板

导入成功如下:

5、添加mysql监控模板到被监控主机

6、被监控的mysql服务器需要创建监控用户

注:让cacti所在机器能够访问MySQL服务器的状态信息,必须拥有”process”权限。如果要监控InnoDB状态,还必须有”SUPER”权限。

[[email protected] ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 29
Server version: 5.5.33-log MySQL Community Server (GPL)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
mysql> grant all privileges on *.* to [email protected]"%" identified by "cactiuser";
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on *.* to [email protected]"localhost" identified by "cactiuser";
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> \q
Bye
[[email protected] ~]# mysql -ucactiuser -pcactiuser
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 30
Server version: 5.5.33-log MySQL Community Server (GPL)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| live               |
| mysql              |
| performance_schema |
| psp                |
| test               |
| vms2_1             |
| zqcms              |
| zqvms              |
+--------------------+
9 rows in set (0.04 sec) 
mysql> \q
Bye

7、监控主机测试是否能够远程登陆mysql

[[email protected] scripts]# mysql -ucactiuser -pcactiuser -h 172.16.3.164
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 33
Server version: 5.5.33-log MySQL Community Server (GPL)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| live               |
| mysql              |
| performance_schema |
| psp                |
| test               |
| vms2_1             |
| zqcms              |
| zqvms              |
+--------------------+
9 rows in set (0.00 sec)
mysql> \q
Bye

7、查看监控绘图

稍等一下,看是否能获取到mysql的数据

实战3 Cacti监控nginx和mysql,布布扣,bubuko.com

时间: 2024-12-05 13:01:16

实战3 Cacti监控nginx和mysql的相关文章

实战2 Cacti监控Localhost和Remote Host

上篇博文主要讲解了cacti监控host主机,由于上篇博文cacti的版本也不是最新的!所以在实战2更新了cacti的版本,并添加了监控远程服务器和优化轮询 实战2 重点 一.新版cacti监控host 二.新版cacti监控Remote Host 三.新版cacti优化spine轮询 附加 四.网卡流量和存储挂在盘 一.新版cacti监控host 1.安装lamp平台 [[email protected] ~]# yum install -y httpd php php-mysql php-s

实现Cacti监控nginx运行状态

生产环境如下: 操作系统:CentOS release 6.8 (Final) 实战任务:实现Cacti监控nginx运行状态 前期以实现Cacti对操作系统.数据库.Apache等象监,如下图: 对nginx安装编译过程省略,但要注意,编译安装nginx时,要开启此项--with-http_stub_status_module. 在/application/nginx/conf/extra/nginx_vhosts.conf,在该文件配置如下: server { listen 9090; se

cacti监控多个mysql端口

1. 在Console -> Data Templates 找到mysql-cacti-templates的mysql模板,编辑: 在这里面把Port的Use Per-Data Source Value (Ignore this Value)选中,意思是由用户输入这个参数的值,然后保存. 把所有有关mysql模板都按上面的方法更改. 2. 在Console->Data Input Methods内,把所有有关mysql数据项的Port都改成不请允许为空. 取消选中Allow Empty Inp

用cacti监控php

cacti搞运维的人不会陌生,可能是现在使用最多的监控工具了.跟互联网相关的公司可能多少都会用到cacti来监控服务器运行状态和一些软件的负载情况. 现在网站用的最多的后端技术可能就是php了,无论nginx还是lighttpd,如今的负载能力都非常强,在很多牛人的努力下,负载几万到十万并发的都屡见不鲜.但是,这是在完全静态的情况下,加上php就会效率大减.所以其实一个动态网站的负载能力的瓶颈往往都在php上面. 网上很多文章介绍cacti是如何监控nginx并发数的,不过目前还没有介绍如何监控

Cacti监控服务器配置教程(基于CentOS+Nginx+MySQL+PHP环境搭建)

具体案例:局域网内有两台主机,一台Linux.一台Windows,现在需要配置一台Cacti监控服务器对这两台主机进行监控环境说明:1.Linux主机操作系统:CentOS 6.2IP地址:192.168.21.164子网掩码:255.255.255.0网关:192.168.21.2DNS:8.8.8.8 8.8.4.42.Windows主机操作系统:Windows Server 2003IP地址:192.168.21.130子网掩码:255.255.255.0网关:192.168.21.2DN

实战1 网络监控cacti的安装配置

一.cacti概述二.cacti工作流程三.cacti安装四.配置cacti监控本机 环境: 操作系统:CentOS 6.4 x86_64软件:Cacti-0.8.7e 官方网站:http://www.cacti.net 一.cacti概述Cacti 在英文中的意思是仙人掌的意思,Cacti是一套基于PHP.MySQL.SNMP及RRDTool开发的网络流量监测图形分析工具.它通过snmpget来获取数据,使用 RRDtool绘画图形,它的界面非常漂亮,能让你根本无需明白rrdtool的参数能轻

cacti监控 之 mysql connections

cacti监控mysql的线程,并发,连接情况,缓存使用情况,查询方式等等 wgets https://www.percona.com/downloads/percona-monitoring-plugins/1.1.6/percona-monitoring-plugins-1.1.6.tar.gz                                                                                      (截止2017.1.4最新版

CentOS上配置Cacti监控MySQL

防伪码:即使没有辉煌的未来.如果能有无悔的往昔.   第九章 CentOS上配置Cacti监控MySQL 前言:在企业网络运维过程中,管理员必须随时关注服务器和网络的运行状况.以便及时发现问题,尽可能减少故障的发生.当网络中的设备.服务器等数量较多时,为了更加方便.快捷的获得各种监控信息,通常会借助于一些集中检测软件.本章将以著名的Cacti套件为例,介绍服务器集中监控体系的构建和使用. 一.Cacti官方简介: 1.Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且

Cacti监控mysql数据库服务器实现过程

Cacti监控mysql数据库服务器实现过程 2014-05-29      0个评论    来源:Cacti监控mysql数据库服务器实现过程   收藏    我要投稿 1 先在cacti服务器端安装mysql模板 wget https://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz tar –xvf better-cacti-templates-1.1.8.tar.gz cd b