文章目录
web界面字体的调整
[root@server1 ~]# cd /usr/share/zabbix/fonts/
[root@server1 fonts]# ll
lrwxrwxrwx 1 root root 33 Aug 1 04:54 graphfont.ttf -> /etc/alternatives/zabbix-web-font
[root@server1 fonts]# lftp 172.25.24.24
lftp 172.25.24.24:~> cd pub/4.0/
lftp 172.25.24.24:/pub/4.0> get simkai.ttf
4135804 bytes transferred
lftp 172.25.24.24:/pub/4.0> exit
[root@server1 fonts]# ls
graphfont.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
- 调整后:
实现zabbix监控httpd服务
httpd是zabbix自带的监控模块。
server2
- 安装apache,开启服务。
[root@server2 zabbix]# yum install httpd -y
[root@server2 zabbix]# systemctl start httpd
[root@server2 zabbix]# systemctl enable httpd
操作如下:
点击配置–>主机–>模板–>选择模板。
点击更新。
- 可以看到server2主机的触发器多了一个httpd服务的触发器,是端口的触发器,zabbix是通过端口来检测httpd服务的。
实现zabbix监控nginx服务
server3
- 在监控主机server3上部署nginx服务。
- 下载安装包并解压,安装依赖性软件并编译安装,注释掉debug日志。
[root@server3 ~]# lftp 172.25.24.24
lftp 172.25.24.24:~> cd pub/4.0/
lftp 172.25.24.24:/pub/4.0> get ngin
lftp 172.25.24.24:/pub/4.0> exit
[root@server3 ~]# lftp 172.25.24.24
lftp 172.25.24.24:~> cd pub/lnmp/lnmp软件/
lftp 172.25.24.24:/pub/lnmp/lnmp软件> get nginx-1.15.8.tar.gz
1027862 bytes transferred
lftp 172.25.24.24:/pub/lnmp/lnmp软件> exit
[root@server3 ~]# tar zxf nginx-1.15.8.tar.gz
[root@server3 ~]# yum install gcc pcre-devel zlib-devel -y
[root@server3 ~]# cd nginx-1.15.8/
[root@server3 nginx-1.15.8]# ./configure --help | grep stub
--with-http_stub_status_module enable ngx_http_stub_status_module
[root@server3 nginx-1.15.8]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module
[root@server3 nginx-1.15.8]# vim auto/cc/gcc #注释debug行
[root@server3 nginx-1.15.8]# make && make install
- 做一个软链接方便更新,同时查看nginx的路径,检查配置文件是否正确。
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
[root@server3 nginx]# which nginx
/usr/sbin/nginx
[root@server3 nginx]# nginx -t
- 修改nginx配置文件,向nginx配置文件中添加用于网页状态的查看检测的模块,以及开启nginx服务。
[root@server3 nginx]# vim /usr/local/nginx/conf/nginx.conf
48 location /status {
49 stub_status on; #开启该模块
50 access_log off; #关闭日志记录
51 allow 127.0.0.1; #白名单 只允许本机访问
52 deny all;
53 }
[root@server3 nginx]# nginx -t #检测是否正确
[root@server3 nginx]# nginx -s reload #重启服务。
测试
-
在server3本机
curl 127.0.0.1/status
来测试。
active connections 活跃的连接数
accepts 接收到的请求数(不一定回复)
handles 确定建立三次握手的请求数
requests 处理的请求数 -
通过三剑客来获取活跃的连接数的数值。
[root@server3 nginx]# curl -s http://localhost/status | grep Active | awk '{print $3}'
- 修改server3的配置文件
/etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf
,创建nginx的监控项。
[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://localhost/status | grep Active | awk '{print $3}' #获取活跃连接数,nginx.active为健值,获得的连接数为value值
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent #修改完成重启服务。
web界面添加nginx的监控
- 步骤如下:
- 创建监控项。
- 监控项名称自定义,健值必须和server3配置文件中的一致。
- 创建图形,将已经添加的监控项导入。
- 查看监控图形。
server1
- zabbix_get 是 zabbix 服务端的一个命令,用于检测 agent 端的配置是否正确,可以很方便地知道 key 是否能正常获取到数据,在测试自定义监控的时候特别有用
- 在server1下载软件zabbix-get,来获取server3的活跃连接数。
[root@server1 include]# yum install zabbix-get -y
[root@server1 include]# zabbix_get -s 172.25.24.3 -p 10050 -k "nginx.active"
1
server3
- 在server3继续使用三剑客 获取接收到的请求数(accept)和处理的请求数(request)。
[root@server3 zabbix_agentd.d]# curl -s http://localhost/status | grep Active | awk '{print $3}'
[root@server3 zabbix_agentd.d]# curl -s http://localhost/status
[root@server3 zabbix_agentd.d]# curl -s http://localhost/status | awk NR==3
[root@server3 zabbix_agentd.d]# curl -s http://localhost/status | awk NR==3 |awk '{print $1}'
[root@server3 zabbix_agentd.d]# curl -s http://localhost/status | awk NR==3 |awk '{print $2}'
[root@server3 zabbix_agentd.d]# curl -s http://localhost/status | awk NR==3 |awk '{print $3}'
- 编辑nginx的监控文件
userparameter_nginx.conf
,将要获取的健值对加入。
[root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent
UserParameter=nginx.active,curl -s http://localhost/status | grep Active | awk '{print $3}'
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}'
server1
- 在server1执行命令获取接受的请求数以及回复的请求数。
[root@server1 include]# zabbix_get -s 172.25.24.3 -p 10050 -k "nginx.active"
[root@server1 include]# zabbix_get -s 172.25.24.3 -p 10050 -k "nginx.accept"
[root@server1 include]# zabbix_get -s 172.25.24.3 -p 10050 -k "nginx.request"
web界面添加新的监控项
- 选择主机server3。
- 创建监控项。
- 将新建的监控项添加到图形中。
- 添加成功。
- 点击更新。
server2 压测
- 为了图形界面的效果显示的更加明显,我们通过server2访问server3进行压力测试。
[root@server2 zabbix]# ab -c1 -n 1000 http://172.25.24.3/index.html
- 在server3重启服务
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent
- 在server1查看我们三个监控项的数值变化(线性图在下面)。
[root@server1 include]# zabbix_get -s 172.25.24.3 -p 10050 -k "nginx.active"
[root@server1 include]# zabbix_get -s 172.25.24.3 -p 10050 -k "nginx.accept"
[root@server1 include]# zabbix_get -s 172.25.24.3 -p 10050 -k "nginx.request"
不同类型图形的切换方法
- 默认为线性图,最直观,直接点击预览。
- 层积图
- Pie
- 爆发图