一.添加http服务监控项
实验如下所示:
在server2上面:
[root@server2 zabbix]# yum install -y httpd
[root@server2 zabbix]# systemctl start httpd
[root@server2 zabbix]# systemctl enable httpd
[root@server2 zabbix]# systemctl status httpd
在浏览器添加http的监控项:http是zabbix自带的监控模板
- 依次进行选择:配置->主机->server2->模板->链接指示器->Template App HTTP Service->添加->更新
二.添加nginx服务监控项
实验步骤如下所示:
在server3上面:
第一步:源码编译nginx
[root@foundation27 Desktop]# scp -r nginx-1.15.8.tar.gz root@172.25.27.3:/mnt
[root@server3 mnt]# cd
[root@server3 ~]# cd /mnt
[root@server3 mnt]# ls
4.0 nginx-1.15.8.tar.gz
[root@server3 mnt]# tar zxf nginx-1.15.8.tar.gz
[root@server3 mnt]# yum install -y gcc pcre-devel zlib-devel
[root@server3 mnt]# cd nginx-1.15.8/
[root@server3 nginx-1.15.8]# ls
auto CHANGES.ru configure html man src
CHANGES conf contrib LICENSE README
[root@server3 nginx-1.15.8]# cd auto/cc
[root@server3 cc]# ls
acc bcc ccc clang conf gcc icc msvc name owc sunc
[root@server3 cc]# vim gcc
将debug日志注销掉
[root@server3 cc]# cd ..
[root@server3 auto]# cd ..
[root@server3 nginx-1.15.8]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module
[root@server3 nginx-1.15.8]# make && make install
[root@server3 nginx-1.15.8]# cd /usr/local/nginx/
[root@server3 nginx]# ls
conf html logs sbin
[root@server3 nginx]# ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
第二步:编辑nginx配置文件并启动服务
[root@server3 nginx]# 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@server3 nginx]# nginx
[root@server3 nginx]# cd conf/
[root@server3 conf]# vim nginx.conf
location /status{
stub_status on; #此模块主要用于查看nginx的一些状态信息
access_log off; #关闭日志记录
allow 127.0.0.1; #只允许本机访问
deny all;
}
[root@server3 conf]# nginx -t
[root@server3 conf]# nginx -s reload
第三步:监控连接数
通过访问http://127.0.0.1/status,会发现此时连接数等较小,此时需要再次访问本机即可依次增加连接数
注意:
- (1)此处查看连接数时不可以输入127.25.66.3,即本机的ip
获取连接数,将连接数用命令提取出来
[root@server3 conf]# curl -s http://localhost/status | grep Active | awk '{print $3}'
cd /etc/zabbix/
cd zabbix_agentd.d/
cp userparameter_mysql.conf userparameter_nginx.conf
vim userparameter_nginx.conf
在里面写入:
UserParameter=nginx.active,curl -s http://localhost/status | grep Active | awk '{print $3}'
#获取连接数(nginx.active为key值,获得的连接数为value值)
systemctl restart zabbix-agent
注意:复制过来这份文件原本里面的文件内容要删除
在server1中安装安装包(此安装包用于server端到agent端获取数据)**
[root@server1 4.0]# yum install -y zabbix-get-4.0.5-1.el7.x86_64.rpm #查看server1是否可以成功获取server3的连接数
[root@server1 4.0]# zabbix_get -s 172.25.27.3 -p 10050 -k"nginx.active"
第四步:在浏览器中进行以下操作,实现可以通过监控查看连接数
点击配置->主机->server3
点击监控项->创建监控项
在监控项中填写名称,并填写正确的键值,之后点击添加
点击图形->创建图形
填写信息后,选择之前的建立的监控项
选择预览,会发现显示以下界面
我们在浏览器设置完毕后,发现监控了,但是监控项太少了,所以我们进行以下设置
第五步:nginx服务增加监控项
curl -s http://localhost/status |awk NR==3 | awk '{print $1}'
curl -s http://localhost/status |awk NR==3 | awk '{print $2}'
curl -s http://localhost/status |awk NR==3 | awk '{print $3}'
在server3编辑配置文件
vim userparameter_nginx.conf
在里面添加:
UserParameter=nginx.accept,curl -s http://localhost/status | awk NR==3 | awk '{print $1}'
UserParameter=nginx.request,curl -s http://localhost/status | awk NR==3 | awk '{print $3}'
systemctl restart zabbix-agent
在sever1中获取server3中的数据
在浏览器中进行以下操作,实现可以通过监控查看请求数
我们为了让实验效果更明显,在物理机用ab命令进行压力测试
在去查看:
也可以修改修改图形类型观察效果
第六步:补充——修改字体
我们会发现此时在图中查看字体是乱码的,所以需要进行修改(字体没有是因为字符集的问题)
下载我们喜欢的字体到/usr/share/zabbix/fonts目录下
[root@foundation27 Desktop]# scp simkai.ttf root@172.25.27.1:/usr/share/zabbix/fonts
root@server1 fonts]# cd ../include/
[root@server1 include]# vim defines.inc.php
65 define('ZBX_GRAPH_FONT_NAME', 'simkai');
110 define('ZBX_FONT_NAME', 'simkai');
然后在浏览器刷新,发现字体不再是乱码了
三.添加mysql服务监控
实现步骤如下所示:
server1:
第一步:在浏览器中添加mysql自带的监控模块,并启动mysql服务
点击配置->主机->zabbix server
点击模板->链接指示器中的选择->群组(选择Templates/Databases)->Template DB MYSQL
此时去部署数据库:
[root@server1 zabbix]# cd zabbix_agentd.d/
[root@server1 zabbix_agentd.d]# ls
userparameter_mysql.conf
[root@server1 zabbix_agentd.d]# ll userparameter_mysql.conf
-rw-r--r-- 1 root root 1531 Feb 25 17:42 userparameter_mysql.conf
[root@server1 zabbix_agentd.d]# cat userparameter_mysql.conf
[root@server1 zabbix_agentd.d]# ll -d /var/lib/zabbix
ls: cannot access /var/lib/zabbix: No such file or directory
[root@server1 zabbix_agentd.d]# mkdir /var/lib/zabbix
[root@server1 zabbix_agentd.d]# cd /var/lib/zabbix
[root@server1 zabbix]# ll /var/lib/mysql/mysql.sock
srwxrwxrwx 1 mysql mysql 0 Aug 1 10:00 /var/lib/mysql/mysql.sock
[root@server1 zabbix]# vim .my.cnf
[root@server1 zabbix]# vim .my.cnf
[mysql]
user = zabbix
password = westos
socket = /var/lib/mysql/mysql.sock
[mysqladmin]
user = zabbix
password = westos
socket = /var/lib/mysql/mysql.sock
[root@server1 zabbix]# systemctl restart zabbix-agent
此时刷新,会看到zabbix server中的监控项变为102个,而且模板中也有Template DB MYSQL
第二步:访问数据库,使在页面中有数据显示
在浏览器中查看
但是我们觉得mysql自带的模块监控项太少了,所以我们将通过添加模块增加监控项
第三步:增加mysql模块
向zabbix监控中导入模块监控mysql的模板percona(开源的mysql分析工具)
[root@foundation27 ~]# scp -r percona-zabbix-templates-1.1.8-1.noarch.rpm root@172.25.27.1:/mnt
[root@server1 ~]# cd /mnt
[root@server1 mnt]# ls
4.0 nginx-1.15.8.tar.gz
nginx-1.15.8 percona-zabbix-templates-1.1.8-1.noarch.rpm
[root@server1 mnt]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
[root@server1 mnt]# cd /var/lib/zabbix/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]# wc -l userparameter_percona_mysql.conf
190 userparameter_percona_mysql.conf
[root@server1 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
[root@server1 templates]# cd /var/lib/zabbix/percona/scripts
[root@server1 scripts]# ls
get_mysql_stats_wrapper.sh ss_get_mysql_stats.php
[root@server1 scripts]# vim ss_get_mysql_stats.php #可以直接在这个里面修改mysql用户和密码
[root@server1 scripts]# vim ss_get_mysql_stats.php.cnf #也可以直接在这个里面修改mysql用户和密码,我就是在这个里面写入的
[root@server1 scripts]# systemctl restart zabbix-agent.service
第一种:写入用户和密码(未采用)
第二种:写入用户和密码(我采用的)
[root@server1 scripts]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg #测试脚本是否可以正确执行,看是否可以取出值
[root@server1 scripts]# cd /tmp/
[root@server1 tmp]# ls
[root@server1 tmp]# rm -fr localhost-mysql_cacti_stats.txt #删除
注意,这个文件删除是因为要服务自己生成
第四步:在浏览器中进行以下操作
点击配置->模板->选择链接的模板
将xml文件导入并选择聚合图形(不选聚合图形不会显示在同一个界面中,不方便)
- 点击模板,将Templates/Databases取消链接,因为要导入新的mysql模块,所以一定要将旧的取消链接
- 选择群组为Percona Templates中的Template Percona MySQL Server
- 将模块添加成功后,会显示以下的结果,在最后点击更新
更新后的页面如下,此时查看监控项发现是293个,且模块中也有新添加的模块
点击Zabbix server后出现以下界面,发现此时有很多mysql模块