zabbix监控nginx,mysql(web界面配置)

添加nginx监控项

  • 实验前先在agent端部署好nginx服务
./configure --prefix=/usr/local/nginx  --with-http_stub_status_module  #编译时加入该模块

[root@server2 nginx-1.15.8]# make && make install 
[root@server2 nginx-1.15.8]# vim /usr/local/nginx/conf/nginx.conf 
48 location /status { 
49 		stub_status on; # Nginx中的stub_status模块主要用于查看Nginx的一些状态信息. 本模块默认是不会编译进Nginx的,如果你要使用该模块,则要在编译安装Nginx时指定:./configure –with-http_stub_status_module 
50 		access_log off; # 关闭日志记录 
51 		allow 127.0.0.1; # 只允许本机访问 
52 		deny all; 
53 		}

#进行语法检测
[root@server2 nginx-1.15.8]# /usr/local/nginx/sbin/nginx -t
#开启nginx
[root@server2 nginx-1.15.8]# /usr/local/nginx/sbin/nginx
  • 测试nginx服务
[root@server2 nginx-1.15.8]# ab -c 1 -n 1000 http://127.0.0.1/status
[root@server2 nginx-1.15.8]# curl http://127.0.0.1/status
Active connections: 1 
server accepts handled requests
 1006 1006 1006 
Reading: 0 Writing: 1 Waiting: 0 

#过滤监控参数(访问次数,连接次数等等)
[root@server2 nginx-1.15.8]# curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
1
[root@server2 nginx-1.15.8]# curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'
1007
  • 创建nginx监控项(nginx.active和nginx.access)
[root@server2 nginx-1.15.8]# cd /etc/zabbix/zabbix_agentd.d/
[root@server2 zabbix_agentd.d]# vim userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}' # 获取连接数(nginx.active为key值,获得的连接数为value值) 
UserParameter=nginx.access,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}' # 获取接受请求数 
UserParameter=nginx.handled,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $2}' # 获取建立三次握手的次数 
UserParameter=nginx.requests,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $3}' 


##配置完重启服务
[root@server2 zabbix_agentd.d]# systemctl restart zabbix-agent
  • zabbix-server端测试是否能拿到数据
[root@server1 ~]# yum install -y zabbix-get-4.0.5-1.el7.x86_64.rpm
[root@server1 ~]# zabbix_get -s 172.25.254.2 -p 10050 -k "nginx.active"
1
[root@server1 ~]# zabbix_get -s 172.25.254.2 -p 10050 -k "nginx.access"
1009
  • web界面新建监控项
    配置—>主机—>点击server2主机—>点击监控项—>创建监控项
    zabbix监控nginx,mysql(web界面配置)_第1张图片
  • 注意键值要和创建监控项时的key保持一致
    zabbix监控nginx,mysql(web界面配置)_第2张图片
    然后添加图形,将刚才的两个监控项导入
    zabbix监控nginx,mysql(web界面配置)_第3张图片
    zabbix监控nginx,mysql(web界面配置)_第4张图片
    因为字符集的问题,这里无法正确显示。我们导入一个比较全面的字符集就可以解决。
下载我们喜欢的字体到/usr/share/zabbix/fonts目录下,并替换defines.inc.php 的字体
[root@server1 ~]# cd /usr/share/zabbix/fonts
[root@server1 fonts]# ls
graphfont.ttf  simkai.ttf

[root@server1 fonts]# vim /usr/share/zabbix/include/defines.inc.php 
:%s/graphfont/simkai/g 

zabbix监控nginx,mysql(web界面配置)_第5张图片

监控 zabbix server 上的 mysql 服务

  • 添加zabbix自带的mysql监控模板
    zabbix监控nginx,mysql(web界面配置)_第6张图片
    zabbix监控nginx,mysql(web界面配置)_第7张图片
    zabbix监控nginx,mysql(web界面配置)_第8张图片
    zabbix监控nginx,mysql(web界面配置)_第9张图片

但是自带的模板监控项太少了,我们可以向zabbix监控中导入模版监控mysql的模版percona(开源的mysql分析工具)

  1. 配置mysql
[root@server1 4.0]# mkdir /var/lib/zabbix
[root@server1 4.0]# cd /var/lib/mysql/
[root@server1 mysql]# vim .my.cnf
[mysql] 
host = localhost 
user = root 
password = westos 
socket = /var/lib/mysql/mysql.sock 

[mysqladmin] 
host = localhost 
user = root 
password = westos 
socket = /var/lib/mysql/mysql.sock

[root@server1 mysql]# systemctl restart zabbix-agent
  1. 安装percona-zabbix模版
下载percona-zabbix-templates-1.1.8-1.noarch.rpm包
[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
[root@server1 zabbix]# pwd
/var/lib/zabbix
[root@server1 zabbix]# ls
percona
[root@server1 zabbix]# cd percona/templates/
[root@server1 templates]# ls
userparameter_percona_mysql.conf
zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml
[root@server1 templates]# cp userparameter_percona_mysql.conf  /etc/zabbix/zabbix_agentd.d/

由于percona的监控脚本是使用php写的,所以需要准备好php运行环境, 将zabbix的数据库和密码写入php脚本中
[root@server1 scripts]# pwd
/var/lib/zabbix/percona/scripts
[root@server1 scripts]# vim ss_get_mysql_stats.php.cnf
  1. 测试percona的脚本,过滤监控项
[root@server1 scripts]# cd /etc/zabbix/zabbix_agentd.d/
[root@server1 zabbix_agentd.d]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
[root@server1 zabbix_agentd.d]# cd /tmp
[root@server1 tmp]# cat localhost-mysql_cacti_stats.txt
[root@server1 tmp]# vim localhost-mysql_cacti_stats.txt 
[root@server1 tmp]# rm -f localhost-mysql_cacti_stats.txt
gg:0 gh:0 gi:0 gj:0 gk:1054 gl:103137 gm:1 gn:16 go:0 gp:0 gq:8191 gr:7361 gs:822 gt:16 gu:781 gv:41 gw:8578 gx:4962 gy:793 gz:13099 hg:4081 hh:0 hi:0 hj:0 hk:0 hl:0 hm:0 hn:0 ho:0 hp:0 hq:20 hr:20 hs:5 ht:401 hu:0 hv:414 hw:7172 hx:85 hy:8 hz:136454 ig:0 ih:29861 ii:0 ij:21 ik:106 il:80 im:300 in:1024 io:400 ip:0 iq:849 ir:17 is:0 it:0 iu:16 iv:1309 iw:1 ix:151 iy:0 iz:1310 jg:-1 jh:-1 ji:0 jj:-1 jk:0 jl:0 jm:0 jn:0 jo:0 jp:0 jq:0 jr:0 js:0 jt:0 ju:45945 jv:65 jw:4773 jx:16096 jy:72 jz:0 kg:0 kh:0 ki:0 kj:0 kk:0 kl:402 km:0 kn:3365 ko:0 kp:3454 kq:0 kr:4009 ks:2271 kt:232 ku:1008 kv:4 kw:6 kx:12634561 ky:4257266 kz:8388608 lg:0 lh:20116799 li:20116799 lj:-1 lk:32768 ll:0 lm:0 ln:-1 lo:0 lp:0 lq:0 lr:0 ls:0 lt:0 lu:0 lv:0 lw:0 lx:0 ly:0 lz:0 mg:0 mh:0 mi:0 mj:0 mk:15 ml:1 mm:25167 mn:6 mo:0 mp:0 mq:1910 mr:82291 ms:95017 mt:24 mu:2265 mv:32616 mw:0 mx:0 my:0 mz:85 ng:7172 nh:0 ni:0 nj:276671 nk:0 nl:137756672 nm:0 nn:1611 no:1 np:0 nq:2 nr:2348656 ns:139112 nt:1648799 nu:83536 nv:338888 nw:0 nx:-1 ny:-1 nz:-1 og:0 oh:24474624 oi:134217728 oj:0 ok:0 ol:-1 om:-1 on:-1 oo:-1 op:-1 oq:-1 or:-1 os:-1 ot:-1 ou:-1 ov:-1 ow:-1 ox:-1 oy:-1 oz:-1 pg:-1 ph:-1 pi:-1 pj:-1 pk:-1 pl:-1 pm:-1 pn:-1 po:-1 pp:-1 pq:-1 pr:-1 ps:-1 pt:-1 pu:-1 pv:-1 pw:-1 px:-1 py:-1 pz:-1 qg:-1 qh:-1 qi:-1 qj:-1 qk:-1 ql:-1 qm:-1 qn:-1 qo:777 qp:541126
  1. 导入模板

zabbix监控nginx,mysql(web界面配置)_第10张图片
zabbix监控nginx,mysql(web界面配置)_第11张图片
zabbix监控nginx,mysql(web界面配置)_第12张图片

你可能感兴趣的:(zabbix监控nginx,mysql(web界面配置))