zabbix-server(server1)与zabbix-agent(server2)部署成功
并且将需要监控的主机已经添加
httpd是zabbix自带的监控模版
操作如下:
添加成功之后查看:
可以看到server2的主机的触发器多了一个是httpd服务监控的触发器,是端口的触发器,zabbix是通过端口来检测httpd服务的。
在监控主机的server3上部署nginx服务
官网下载安装包并且解压
注释debug日志
[root@server3 nginx-1.16.0]# yum install -y gcc pcre-devel zlib-devel
[root@server3 nginx-1.16.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module ##编译stub_status模块主要用于查看nginx的一些状态信息
[root@server3 nginx-1.16.0]# make && make install
编辑nginx的配置文件添加nginx的用于网页状态的查看检测配置文件并开启nginx服务
[root@server3 nginx-1.16.0]# cd /usr/local/nginx/
[root@server3 nginx]# vim conf/nginx.conf 文件添加的内容如下:
48 location /status {
49 stub_status on; //开启该模块
50 access_log off; //关闭日志记录
51 allow 127.0.0.1; //只允许本机访问
52 deny all;
53 }
/usr/local/nginx/sbin/nginx ##开启nginx
netstat -antlp ##查看端口信息
查看nginx的基础信息
curl http://127.0.0.1/status
[root@server3 nginx]# curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
[root@server3 nginx]# curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'
[root@server3 ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@server3 zabbix_agentd.d]# ls userparameter_mysql.conf
[root@server3 zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf
//将mysql服务的监控模版给nginx服务复制一份
[root@server3 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}' #获取接收请求数
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent //重启服务
在zabbix-server端测试是否能拿到数据
//安装使用zabbix_get命令的安装包
[root@server1 ~]# ls 4.0 anaconda-ks.cfg zabbix-api
[root@server1 ~]# cd 4.0/
[root@server1 4.0]# yum install -y zabbix-get-4.0.5-1.el7.x86_64.rpm //测试
[root@server1 4.0]# zabbix_get -s 172.25.254.3 -p 10050 -k "nginx.active"
[root@server1 4.0]# zabbix_get -s 172.25.254.3 -p 10050 -k "nginx.access"
web界面添加nginx的监控
配置–>主机–>sever3
创建监控项:
添加图形将已经添加的监控项导入
查看监控图形
[root@server1 4.0]# cd /usr/share/zabbix/fonts/
[root@server1 fonts]# ls graphfont.ttf simkai.ttf
[root@server1 fonts]# cd /usr/share/zabbix/include/
[root@server1 include]# vim defines.inc.php
替换文件中的graphfont为simkai,及使用自己下载的字体,即在下方输入:
:%s/graphfont/simkai/g
给zabbix-server添加自带的mysql的监控项
在配置–>主机–>点击zabbix server选择该主机
发现其监控项及其触发器图形都是很少的,这在企业中是远远不够的。
导入自己的mysql服务的监控模版
在server1:
向zabbix监控中导入监控mysql的模版percona
percona是开源的mysql分析工具
[root@server1 zabbix]# mysqladmin -uzabbix -predhat -h 127.0.0.1 ping | grep -c alive //查看zabbix server上的mysql服务 1(代表正常)
[root@server1 fonts]# mkdir /var/lib/zabbix
[root@server1 fonts]# cd /var/lib/zabbix/
[root@server1 zabbix]# vim .my.cnf
//为了保证数据库配置的安全性建议将该文件设置为隐藏文件 文件的编辑内容如下:
[mysql]
host=localhost user=root password=redhat
socket=/var/lib/mysql/mysql.sock
[mysqladmin]
host=localhost user=root password=redhat
socket=/var/lib/mysql/mysql.sock
[root@server1 zabbix]# systemctl restart zabbix-agent
在web界面查看添加了数据库之后的监控图像:
在zabbix server上查看数据库产生相应的访问信息
[root@server1 zabbix]# mysql -p
Enter password:
MariaDB [(none)]> show databases;
MariaDB [(none)]> use zabbix;
MariaDB [zabbix]> show tables;
MariaDB [zabbix]> select * from users;
在web界面查看mysql的图形
点击mysql operations查看该产生的图形:
在zabbix server及server1上安装percona-zabbix模版
[root@server1 ~]# ls 4.0 anaconda-ks.cfg percona-zabbix-templates-1.1.8-1.noarch.rpm zabbix-api
[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
Scripts are installed to /var/lib/zabbix/percona/scripts
Templates are installed to /var/lib/zabbix/percona/templates
复制percona的监控模版到被监控的服务器也就是server1上的zabbix-agent的相应目录下
percona的脚本是由php编写的需要准备好php的运行环境,将zabbix的数据库和密码都写入php脚本中
文件编辑内容如下:
测试percona的监控脚本并且过滤监控项
在web界面导入模版:
选择导入路径
点击下方的导入会显示导入成功
pernoca模版的添加:
首先取消已经添加的mysql监控已经存在的模版
再次为zabbix server主机添加数据库的监控模版percona
会出现percona的模版点击选择即可
更新完成之后查看zabbix server的监控项,发现在i添加了mysql的已有的模版产生的监控项只有80多个当导入了新的模版后监控项的数量变为接近300个,则percona模版导入成功
END