Zabbix监控平台基于Zabbix的集群基础上操作
###.添加http服务监控项###
- http在zabbix中自带监控模版
- 点击配置->主机->server2->模版->选择:Tempalte App HTTP Service
点击更新后server2模版中显示Template App HTTP Service
###添加nginx服务监控项### - nginx监控项zabbix中没有,需要在zabbix-agent端部署nginx服务
1.nginx部署
[root@server2 ~]# yum install -y gcc pcre-devel zlib-devel make #安装需要的工具库
[root@server2 ~]# tar zxf nginx-1.15.8.tar.gz
[root@server2 ~]# cd nginx-1.15.8
[root@server2 nginx-1.15.8]# ls
auto CHANGES.ru configure html man src
CHANGES conf contrib LICENSE README
[root@server2 nginx-1.15.8]# vim auto/cc/gcc
171 # debug ##注释这两行,关闭debug日志实现最小安装
172 #CFLAGS="$CFLAGS -g"
[root@server2 nginx-1.15.8]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module ##编译指定nginx的按装位置,和增加的模块
[root@server2 nginx-1.15.8]# make && make install ##安装
[root@server2 nginx-1.15.8]# cd /usr/local/nginx/
[root@server2 nginx]# ls
conf html logs sbin
[root@server2 nginx]# du -sh
872K .
[root@server2 conf]# vim /usr/local/nginx/conf/nginx.conf
3 worker_processes auto;
48 location /status {
49 stub_status on; #nginx中的stub_status模块用于查看nginx的一些状态信息
50 access_log off; #关闭日志记录
51 }
[root@server2 conf]# /usr/local/nginx/sbin/nginx -t #检查编辑的文件是否有语法错误
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@server2 conf]# ln -s /usr/local/nginx/sbin/nginx /sbin/ ##软连接到/sbin/下
[root@server2 conf]# nginx #开启nginx服务
物理机访问http://172.25.46.2/status:
[root@server2 conf]# vim /usr/local/nginx/conf/nginx.conf
3 worker_processes auto;
48 location /status {
49 stub_status on; #nginx中的stub_status模块用于查看nginx的一些状态信息
50 access_log off; #关闭日志记录
51 allow 127.0.0.1; #只允许本机访问(添加这个命令其他用户就不能访问,也不会有下图界面)
52 deny all;
53 }
[root@server2 conf]# nginx -t
[root@server2 conf]# nginx -s reload
物理机访问http://172.25.46.2/status:
只能curl http://127.0.01/status访问
[root@server2 conf]# curl http://127.0.0.1/status
Active connections: 1
server accepts handled requests
23 23 8
Reading: 0 Writing: 1 Waiting: 0
过滤监控参数(访问次数、连接次数..),将过滤出的参数以key-value键值对的形式储存:
创建nginx的监控项
[root@server2 conf]# curl -s http://localhost/status |grep Active |awk '{print $3}' ##测试是否能够取得犍值 vim
[root@server2 conf]# cd /etc/zabbix/zabbix_agentd.d/
[root@server2 zabbix_agentd.d]# ls
userparameter_mysql.conf
[root@server2 zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf #以mysql监控模版复制一份nginx的文件模版
[root@server2 zabbix_agentd.d]# vim userparameter_nginx..conf ##添加文件监控项 [root@server2 zabbix_agentd.d]# cat userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://localhost/status |grep Active |awk '{print $3}'
UserParameter=nginx.access,curl -s http://localhost/status |awk NR==3 |awk '{print $1}'
UserParameter=nginx.handled,curl -s http://localhost/status |awk NR==3 |awk '{print $2}'
UserParameter=nginx.request,curl -s http://localhost/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 4.0]# zabbix_get -s 172.25.46.2 -p 10050 -k 'nginx.active'
1
[root@server1 4.0]# zabbix_get -s 172.25.46.2 -p 10050 -k 'nginx.active'
1
[root@server1 4.0]# zabbix_get -s 172.25.46.2 -p 10050 -k 'nginx.access'
5
[root@server1 4.0]# zabbix_get -s 172.25.46.2 -p 10050 -k 'nginx.request'
6
配置 ->主机-> 点击server2-> 点击监控项 ->创建监控项
添加监控项,这里的键值要和创建监控项是的一致;所有的监控项都以这种方法添加(创建后记得更新)
然后添加图形,将刚才的监控项导入
点击图形->创建图形->名称->添加监控项(可同时选择多个)->添加
添加成功后预览:
但是上图看不了文字,不能知道哪条线表示哪个数据,可以进行修改
1.)下载喜欢的字体,到server1 下的/use/share/zabbix/fonts目录替换
[root@server1 4.0]# cd /usr/share/zabbix/fonts/
[root@server1 fonts]# ls
graphfont.ttf
[root@server1 fonts]# ls
graphfont.ttf simkai.ttf ## simkai.ttf 自己下的一种字体
[root@server1 fonts]# cd ..
[root@server1 zabbix]# cd include/
[root@server1 include]# vim defines.inc.php #编辑该文件
:%s/graphfont/simkai/g #将所有的graphfont 改成simkai
再次刷新界面,就会显示监控数字信息
###监控mysql服务####
1.)可以先给server 主机添加自带的监控mysql的模版
配置->主机(zabbix server)->模版
添加成功后更新
但是自带的模版监控项比较少,我们可以添加模版增加监控项
- 向zabbix监控中导入模版监控mysql的模版percona
配置mysql
[root@server1 ~]# ls
4.0 percona-zabbix-templates-1.1.8-1.noarch.rpm
nginx-1.15.8.tar.gz zabbix.api
[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm ##安装percona模块
[root@server1 ~]#cd /var/lib/zabbix/percona/templates/
[root@server1 templates]#cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/ ##将模块文件复制到zabbix监控目录下
[root@server1 templates]#systemctl restart zabbix-agent ##重启监控服务,这样才能监控
[root@server1 templates]#cd /var/lib/zabbix/percona/scripts/
[root@server1 scripts]#vim ss_get_mysql_stats.php.cnf ##由于该模块监控脚本为php语言,所以这里提供的数据库与密码也使用php语言
<?php
$mysql_user = 'root';
$mysql_pass = 'westos';
[root@server1 scripts]#/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg ##测试脚本
[root@server1 scripts]#cd /tmp/
[root@server1 tmp]#ll localhost-mysql_cacti_stats.txt
[root@server1 tmp]#rm -fr localhost-mysql_cacti_stats.txt ##由于此文件为root用户,zabbix无法查看,所以删除,zabbix查看时会以自己的身份重建此文件
导入percona-zabbix模版
配置->模版->导入->导入文件->选择
模版导入成功
给zabbix server 添加模版
查看导入后的监控项293项