监控、监控客户机-添加主机、管理模板、管理图形和窗口、配置触发器,zabbix邮件告警、zabbix监控Nginx、Tomcat、MySQL...

  1. 监控Linux系统状态
  2. 监控介绍
  3. 安装zabbix4.0 
  4. 监控客户机-添加主机
  5. 监控客户机-管理模板
  6. 监控客户机-管理图形和窗口
  7. 监控客户机-配置触发器
  8. 解决中文名称不能写数据库的问题
  9. 解决图形中文乱码
  10. zabbix邮件告警
  11. zabbix监控Nginx
  12. zabbix监控Tomcat
  13. zabbix监控MySQL

 

具体监控命令见此链接:https://my.oschina.net/u/4093217/blog/3036056

监控cpu

w和uptime查看系统负载
top 动态查看进程使用资源情况,shell脚本中会使用 
占用CPU的进程可以是Running,也可以是Waiting 
某一时刻1颗CPU只能有一个进程在使用其资源
top 3秒显示一次,动态的,默认按cpu百分比排序,按大写的m(M)键,按照内存的使用率大小排序 
top -bn1 静态的显示,一次性把所有的信息全部输出出来,也是按cpu百分比排序,适合在写脚本时使用
cat /proc/cpuinfo 查看CPU信息
lscpu 也可以查看cpu信息
free命令 ,用来查看内存和swap使用情况,关注最后一列的available,这个数字是真正剩余的物理内存大小

手动增加swap

模拟一个G的磁盘空间:

dd if=/dev/zero of=/bigfile bs=1M count=1000 
dd(对磁盘进行操作的工具),if(从哪里来),of(目标的文件或磁盘,此处写入到跟目录下,叫bigfile),bs(决定文件大小)=1M(即每个块为1M),count=1000(共有1000个块),也可以写成bs=100M,count=10

e13b7a9612ade93bd4b03980a00a01b08b9.jpg

mkswap /bigfile 格式化成swap格式
chmod 600 /bigfile 更改权限

c39b37156dbcbca87de8630d81da2f0d225.jpg

swapon /bigfile 挂载

之前的swap大小

744e9192a85fff4e3a47679d24a102981b5.jpg

挂载后的大小

eeb4c341f4359dc7dece7c61c45edce9438.jpg

监控磁盘

yum install -y sysstat 安装iostat、sar

iotop 当磁盘io很忙,可以使用iotop查看,获得读写的进程是哪个,按IO使用率大小排序

综合工具,断定瓶颈点 vmstat 1,关注r、b、si、so、bi、bo、id、wa

监控网卡流量

sar -n DEV 1 10 查看网卡流量 1是每一秒钟显示一次,10是显示10次
bit 比特(带宽单位)
Byte 字节(速度传输单位)
8bit =1Byte 2MB/s 2*8=16Mbit 100Mbit 12.8MB/s
nload命令 动态的显示网卡实时速度的一个页
ethtool ens33    查看网卡是否连接
mii-tool ens33    查看网卡是否连接

查看进程:

ps aux 、ps -elf 、ps -eLf(查看线程)

查看网络连接状况:

netstat netstat -lnp 查看监听端口 需要关注上面的端口部分
netstat -an 查看tcp/ip 所有的连接状态
netstat -ltnp 只查看tcp的监听端口
netstat -ltunp 查看tcp和udp的监听端口
ss -an和netstat异曲同工,显示tcpip状态

抓包:

tcpdump -nn -r 1.cap -r读取一个包
tcpdump -nn -i ens33
tcpdump -nn -i ens33 port 22 只要端口是22的包
tcpdump -nn -i ens33 not port 80 不要80端口的包
tcpdump -nn -i ens33 not port 80 and host 192.168.247.3 不要80端口并且host是192.168.247.3 的包
tcpdump -nn -i ens33 -c 100 只抓取100个包
tshark: 
tshark -i ens33 -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "http.request.uri"

744863168c4a331190a0220d76cd6c3507e.jpg

监控介绍

做监控的目的:可以提前发现潜在故障隐患,第一时间解决掉,把影响降低。、

常见的监控软件:

cacti、nagios、zabbix、open-falcon、prometheus、grafana等等

zabbix 4.0安装

zabbix官网  www.zabbix.com ,进入官网下载(从二进制包安装比较方便快捷)

yum源安装zabbix  :

rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

e601f43bac82fb524ab9f06dca62fc104e9.jpg

yum list |grep zabbix              需要安装服务端、客户端的程序
zabbix-get 命令行工具
zabbix-proxy 代理软件
zabbix-web webUI ,web界面,监控web的连接时间、加载时间,确认网站没有挂掉
zabbix-agent 客户端的程序,需要启动
zabbix-server-mysql 服务端的程序,需要启动  
zabbix-web-mysql web和mysql相关组件

09e504d2bb680cf4643e9284dff74eebe3c.jpg

需要安装的包:

 yum install -y  zabbix-agent.x86_64 zabbix-get.x86_64 zabbix-server-mysql.x86_64 zabbix-web.noarch zabbix-web-mysql.noarch

4db59ece2d44fd41e3fc8838c5b1fc6aa90.jpg

创建zabbix库和用户

create database zabbix;
grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'tobe';

cb141bfe536df39eed1c56c1c19a9a83e03.jpg

编辑zabbix配置文件    /etc/zabbix/zabbix_server.conf

根据刚才创建的数据库名称,创建的用户名密码修改

DBHost=127.0.0.1 #zabbix需要连接的数据库地址
DBName=zabbix 库名
DBUser=zabbix #用户名
DBPassword=tobe #密码

5dde14be5f38dea3b8bf33acca15ef8e75e.jpg

d9d16f5d61d22b3d7b1d9927b4345a639d8.jpg

把zabbix-server-mysql中的sql导入到zabbix库中,所在位置 ls /usr/share/doc/zabbix-server-mysql-4.0.9/create.sql.gz

896ea1503a1918f18baa8b37629d5f8b7d9.jpg

 解压

gzip -d /usr/share/doc/zabbix-server-mysql-4.0.9/create.sql.gz

导入到zabbix库中

mysql -uroot -ptobe zabbix < /usr/share/doc/zabbix-server-mysql-4.0.9/create.sql 

启动zabbix服务        systemctl start zabbix-server.service
设置开启启动          systemctl enable zabbix-server

注意关闭防火墙或iptables:

setenforce 0
systemctl stop firewalld

启动成功:

b56871f61e52ff88e060653f61d09b50503.jpg

如果启动失败,注意查看日志报错:       

zabbix_server日志存放路径 :  /var/log/zabbix/zabbix_server.log

netstat -lntp   会监听10051端口

abd223255a0582693c96f925c441c12728a.jpg

zabbix_agentd配置文件 :    vim /etc/zabbix/zabbix_agentd.conf

配置文件中需要修改下面两处内容

zabbix监控有两种模式:主动模式和被动模式

Server=127.0.0.1
ServerActive=127.0.0.1 客户端主动上报
启动agent服务 systemctl start zabbix-agent.service
设置开机启动   systemctl enable zabbix-agent

zabbix_agentd日志存放路径  :   /var/log/zabbix/zabbix_agentd.log

ps aux |grep zabbix_agentd

fd6cb5c5b47a85bc85f1e4761d138c18e9d.jpg

安装webUI,在浏览器上安装,需要启动httpd服务

netstat -lntp  此时80端口监听的是nginx,需要停掉,监听httpd

b0b07d9a2b57403b372ced6cf92ab80a423.jpg

systemctl stop nginx   停掉Nginx

systemctl start httpd  启动httpd

或者使用kill -9 PID结束进程

c568dbf03742445f7ffefec66733d24d41e.jpg

浏览器中访问zabbix: url直接输入:192.168.183.133/zabbix ,出现安装页面

d179503b4e8afedefadf7cd7966ca7e8457.jpg

安装页面点击下一步,PHP option "date.timezone"出现报错

c96b13b750df4b0db9e14fa63dc59dae1cb.jpg

需要修改httpd配置文件  vim /etc/php.ini

lamp的配置文件路径 ls /etc/php.ini
lnmp的配置文件路径 ls /usr/local/php-fpm/etc/php.ini

找到date.timezone,加上时区

systemctl restart httpd.service  重启httpd服务,然后到页面刷新即可,点击下一步

date.timezone = Asia/Shanghai

43ff097e6be58986f80a1425b068fa9ee9d.jpg

输入数据库的配置信息

203b83c51f4b260454053cdfce3ac57bc2d.jpg

下一步,更改host,name自己定义,点击下一步:安装完成

d50ebc5688d4d317fa3068fd57c0d32257b.jpg

进入登录界面,用户名admin,密码zabbix

dcd899c99770b29605f751d46178358b893.jpg

监控客户机-添加主机

在第二台机器上:

rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
yum install -y  zabbix-agent.x86_64   客户端上只需要安装此包

编辑配置文件:vim /etc/zabbix/zabbix_agentd.conf

Server=192.168.183.3 
ServerActive=192.168.183.3 修改成zabbix-server的ip
启动agent服务 systemctl start zabbix-agent.service
设置开机启动    systemctl enable zabbix-agent

ps aux |grep zabbix_agentd

425545d0de81e7047e1f9d6b3bb04467960.jpg

netstat -lntp            zabbix_agentd监听10050端口,会和10051通信,如果有防火墙的话,需要放行10050端口,或加白名单

加白名单 实现通信 :   iptables -I INPUT -s 192.168.183.3 -j ACCEPT

b70b0bd6b2c38594b0ae0da338063a6ddc3.jpg

到weiUI界面设置

先添加主机组,在到hosts中,右边找到(创建主机)create hosts添加,一台机器可以属于多个组

125b9579b13aca583dbfbcd0d29f5e656cc.jpg

此处IP地址为客户端10050端口的地址

a307f123b9e8636dd435ffddb4ef4047bf3.jpg

添加监控项目:

1、到模板中->创建模板

64f039bc35452dc122526de813d8e722653.jpg

2、把常用的监控项目添加到test模板中

模板里的Template OS Linux中的应用集->CPU的监控项->拷贝(CPU idle time和Processor load (1 min average per core))到test模板

拷贝出这两个文件到templates模板中

5103a03df3eeb60c1a5a5f88e023f070889.jpg

f081d03231aca1e0cfffcd29510139d3365.jpg

复制完成后,test模板的监控项中,出现这两项

f5ce76ab17169756b057dfb38976158c112.jpg

继续点击模板里的Template OS Linux->监控项->复制Total memory,复制到test中

e60d7c440d30c300fdef6e6165afe7e8af2.jpg

8c3ce9ffbbf3132cdfebacb6dcd6287de5f.jpg

把Template OS AIX中监控项:Free real memory复制到test,方法同上

监控客户机-管理模板

点击Template OS Linux->全克隆

5921aff88f10d0bcea00274fa90c6d40887.jpg

全克隆之后修改模板名称和群组,最下面点击添加

74a23d1b66b87f2235abe24c6e74a921a26.jpg

进入刚刚克隆的模板中把链接取消并清理,点击更新

68133f6383a246559d8ddbd7eea284ea68e.jpg

刚刚克隆的模板中把用不到的都删除,保留所需要的,把选择的两项删除

删除是为了把在删监控项时减少报错,因为触发器中有和监控项关联的

82622531f94b50c349c0046b4a98056e747.jpg

触发器中也保留所需要的

3d2789cf2d8d4c858af1f10dcbce8d43250.jpg

监控项也保留所需要的

6ce0d8517ca56382c39cbfd84fad58f895e.jpg

应用集也一样

95bfa64d6a75e951e308960c4484d11dfa8.jpg

自动发现规则最好不动

08e0962d7f01f014c91df5d1d9a6c2e3fe9.jpg

完成后,到主机选择新添加的主机tobejiang->模板->选择刚刚克隆的模板tobe->添加->更新

bfb9c5d3bd5c08405f7590134e0986a4576.jpg

65dedec96a23ad5d23ff2dea9e6e04bb782.jpg

在第一台机器上

使用 zabbix_get -s 192.168.183.33 -p 10050 -k "system.cpu.load[all,avg1]"   测试是否通信

iptables -I INPUT -s 192.168.183.33 -j ACCEPT    在第一台server上也要加白名单

出现报错

3c576cbcbb8d1f16c8dc6cd93d574ce4f7a.jpg

两台机器都需要重启:
服务端重启  systemctl restart zabbix-server.service
客户端重启  systemctl restart zabbix-agent.service

重启服务后,成功

097ed233db47220ec9406232584a2109c5d.jpg

主机也启动成功

4ad50b954d7b21d91f2eed81075d937de0e.jpg

此时在最新数据中,选中此模板->应用,也出现了数据

11a8af4138ecbd64a4846c7a233f6fabc41.jpg

监测->图形中,选择对应主机选项,下方出现图形界面

33cae8ab1078cc24159a5e3e1c85a64bf3f.jpg

监控客户机-管理图形和窗口

监测中的自动发现此时是空的

146bdd47636dc7e1f561095d7d943897e17.jpg

到配置->主机->选择tobejiang的自动发现->选中点击现在检查

b07d93eb6adf1562e2599a52fe27a40055d.jpg

点击图形,会多出几项

f66e0f3918370d3042ce3a94b14424eedeb.jpg

监测下的图形,也多出这几项

21ecffb45f75cce4a33ffbc42577b29e4ff.jpg

把图形放到:监测->仪表板中

操作方法:监测->聚合图形->创建聚合图形

07a9505053275c537e36f6e0c4a88711107.jpg

添加完成后点击后面的构造函数->点击更改,选择需要显示的图形

73e3c9bf9062da6436cf8d4762f09d326d4.jpg

837497ca3f76ed8a65f2cc1b3ab3547d393.jpg

自定义仪表板:

编辑仪表盘右边模块->创建新的->输入名称->点击空白处添加构件

f4dd216f1c623e9530f3da386fb85c08241.jpgfa36b7b42f2818aed3c155ddcf69e002774.jpg

添加一个新的构件:图形->下面的添加新数据集,可以添加监控项

想要在新创建的screens中显示tobe02的聚合图形,需要在聚合图形界面点击这个收藏按钮baf0bd395872e0c6686ed0fe31b04d25d82.jpg

93c5f38734c8511a30a953d8d95f6990325.jpg

点击保存报错,不支持中文,把名称改为英文后,正常保存

49b0acabdd21f722e5946e76e3003b9e3be.jpg

监控客户机-配置触发器

配置->主机->触发器->创建触发器->添加表达式(结果中的单位为bit)>=1000000(10M)->添加

dd1e5504910c10249a1026b89ff5f21467d.jpg

配置告警过程:

 

解决中文名称不能写数据库的问题

写入中文名字时不识别

2e4459755c3623b45227e1bab30b8970454.jpg

show create table items\G;

6390eb503e4824c2471dedc75d16a5e6061.jpg

在导入前设置字符集

show variables like 'character%'; 可以在my.cnf更改字符集

5032fe1c204d9ceb9a2bf6334d4dd21e6c0.jpg

此处由于已经安装好了,所以导出表数据

mysqldump -uroot -ptobe --default-character-set=utf8 zabbix > zabbix.sql

vim zabbix.sql   编辑导出的sql
把latin1改成utf8
:1,$s/latin1/utf8/g   查找替换,$表示到最后一行,s表示要查找替换了,/latin1表示需要替换的,/utf8/表示要替换成的内容,g替换所有

导入表数据

mysql -uroot -ptobe --default-character-set=utf8 zabbix < zabbix.sql

此时在回到数据库  show create table items\G;

已经改为utf8

3e52721bce67904eb1e74b44f787fbccbfe.jpg

回到页面更改,显示中文

8b89b283b429de4c393ab33e1ddebfd7e4a.jpg490aba6b91347963b3ff8d6a17b42335caf.jpg

解决图形中文乱码

原因是没有支持中文的字体

60698a51c2be607fb83490a36cc12ba39c0.jpg

搜索: find . -type f -name "*inc*"

字体存放目录 :  vim /usr/share/zabbix/include/defines.inc.php

搜索font,注意此处fonts的路径

19f5a93bd45ecf662d7ae5c8fb5e0a2d8ef.jpg

windows中的字体所在路径,把需要的字体放到桌面,rz到服务器上

18efb855fb257b4193d726349cf5b4c4cd9.jpg


并移动到/usr/share/zabbix/assets/fonts目录下

82bdcb63336088443391c9b79f01fa3ec76.jpg

先把原来的graphfont.ttf文件改名: mv graphfont.ttf graphfont.ttf.bak
做软连接:  ln -s ./simfang.ttf graphfont.ttf

9566b62cb3342ce20ad1e412e7740b39f1c.jpg

此时回到页面显示已正常

faf30b3a0686b50f08b7c63f95b464821cd.jpg

zabbix邮件告警

阿里云邮件推送服务
阿里云 -> 管理控制台 -> 产品与服务 -> 云通信 -> 邮件推送
立即开通 -> 发信域名 -> 新建域名 -> 点击配置
到dnspod -> 域名解析-> 添加TXT记录/MX记录/CNAME
验证
发信地址 -> 新建发信地址 -> 域名/账号/发信类型(触发) -> 设置smtp密码
SMTP服务地址: smtpdm.aliyun.com ,SMTP服务端口号:25或80或465(SSL加密)

d7afc0ad290b2fa9428ecf079150c776855.jpg

把阿里云上对应的值写入即可,主机记录为空,写@

51e3023b72f430b4760e154488f7a3e3f61.jpg

阿里云上的状态变为   可使用-未备案  即可继续下一步

92b0484c234d44ed4a893b0b2192ae2ada4.jpg

创建发信地址和smtp密码

bc988865d5f11dafe2900d3c1304ace73b9.jpg

yum install -y expect  生产随机字符串使用

mkpasswd -s 0 -l 15 生成密码复制到邮件推送控制台中的发信地址

14895a2c5307d4a1d79b56acd80300cbc6c.jpg

 

创建发邮件python脚本

vim mail.py   放到root下就可以

#!/usr/bin/python
#coding:utf-8

import smtplib
from email.mime.text import MIMEText
import sys

mail_user = 'foutt@tobej.cn'        域名
mail_pass = 'xxxxx'                smtp密码

def send_mail(to_list,subject,content):
    me = "zabbix 监控告警平台"+"<"+mail_user+">"
    msg = MIMEText(content, 'plain', 'utf-8')
    msg['Subject'] = subject
    msg['From'] = me
    msg['to'] = to_list

    try:
        s = smtplib.SMTP("smtpdm.aliyun.com", 25)
        s.login(mail_user,mail_pass)
        s.sendmail(me,to_list,msg.as_string())
        s.close()
        return True
    except Exception,e:
        print str(e)
        return False

if __name__ == "__main__":
    send_mail(sys.argv[1], sys.argv[2], sys.argv[3])

给予755权限,否则不会执行此脚本;

chmod 755 mail.py

测试:给邮箱发邮件,进行测试,把标题为测试邮件,内容为my.cnf中的内容发送到foutt7777@163.com

./mail.py foutt7777@163.com "测试邮件" "`cat /etc/my.cnf`"

163邮箱已经收到,测试成功

6e8554c81afa901996064670b529d58f4b3.jpg

编辑zabbix配置文件    /etc/zabbix/zabbix_server.conf

vim /etc/zabbix/zabbix_server.conf

找到:AlertScriptsPath=/usr/lib/zabbix/alertscripts

把mail.py 挪到这个目录下来

mv mail.py /usr/lib/zabbix/alertscripts/

5dbb79155746b81051ae1a2b27f894a5392.jpg

cd /usr/lib/zabbix/alertscripts

给它一个755权限  chmod 755 mail.py

 

设置zabbixWEB UI

1) 设置报警媒介

管理->报警媒介类型->创建媒体类型
脚本参数 -> Add {ALERT.SENDTO}/ Add {ALERT.SUBJECT}/Add {ALERT.MESSAGE}

647c06155ac4f7db4981fd6c373717d9d1e.jpg

2)设置接收邮件地址

管理->用户->选择admin(或新建)
报警媒介->添加,此处的收件人可以添加多个

2234b7818e9f062e48db0d3b2434c832a04.jpg

并确认是否有权限,如果没有权限的话,在用户处选择Zabbix administrators群组,并选择权限中的用户类型

c735320ac50abf392b2aa04295173a13955.jpg

3)配置动作

配置->动作->创建动作
设置好名称后,在操作模块->新的->选择发送到的用户->发送到baojing->点击添加
恢复操作->新的->选择用户->发送到baojing->点击添加
最后点击添加即可

04807fc0aeda791b1222a19c814c9d96f42.jpg

b02e9d05b58a2b03b6403de93ba495c8ac5.jpg

测试报警 :

配置->主机
为了实验效果,先停用Zabbix server
主机->触发器->故意调整一个触发器 :网卡入口流量,改为<=10000000

453b7d2d3a35da0dbe16b9958bad08c62ee.jpg

监测->问题->选择主机->应用,可以看到报警

d193a9e076628b06a7e3ffba37f91c2e95c.jpg

邮箱也收到了报警邮件

dbf52f88e2029e40316d57230fcd9a5e6bc.jpg

测试完成后,把触发器恢复为>=10000000,过一会儿会收到已解决邮件

f17ab68c66a29700d71fe35f8efb3dc0a31.jpg

更改发送时间

配置->模板->选择模板->自动发现规则->Network interface discovery的监控项原型->点击Incoming network traffic on {#IFNAME}->更新间隔改为30s

63cd080fe9adc5c6586e847291fb3c0b23d.jpg

zabbix监控Nginx

配置文件中前面不能有空格

在002上安装Nginx

编辑yum仓库: vim /etc/yum.repos.d/nginx.repo

粘贴:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

安装: yum install -y nginx
systemctl start nginx
vim /etc/nginx/nginx.conf   配置状态信息放到此目录下


配置Nginx状态信息
vim /etc/nginx/conf.d/default.conf  #增加
location /nginx_status 
{
        stub_status on;
        access_log   off;
        allow 127.0.0.1;
        deny all;
    }

65185485a8070500266ad5266ef0ce1456c.jpg1603b1a83ab887cecff57853ff3cdc5db03.jpg

nginx -t检查没有问题

nginx -s reload

进行测试

curl http://127.0.0.1/nginx_status

c0bf57c11f6aa71855f96a7dbf1bf49f09b.jpg

说明:

字段

含义

Active Connections

当前活动连接数,其中也包括了等待状态的连接

accepts

接收到的连接数

handled

已经处理完的连接数,该数字一般和accepts一致,如果不一致那么说明Nginx出错了

requests

总共处理的请求数,一个连接可以有多个请求,所以该值比accpets要大

Reading

正在读取请求头信息的连接数

Writing

正在发送响应报文的连接数

Waiting

处于闲置状态,等待客户端发送请求的连接数

在客户端002上,编写监控脚本

vim /usr/local/sbin/ngx_status.sh  #内容如下
#!/bin/bash
url="http://127.0.0.1/nginx_status"
curl=/usr/bin/curl

# 检测nginx进程是否存在
function ping {
    /sbin/pidof nginx | wc -l 
}
# 检测nginx性能
function active {
    $curl $url 2>/dev/null| grep 'Active' | awk '{print $NF}'
}
function reading {
    $curl $url 2>/dev/null| grep 'Reading' | awk '{print $2}'
}
function writing {
    $curl $url 2>/dev/null| grep 'Writing' | awk '{print $4}'
}
function waiting {
    $curl $url 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}
function accepts {
    $curl $url 2>/dev/null| awk NR==3 | awk '{print $1}'
}
function handled {
    $curl $url 2>/dev/null| awk NR==3 | awk '{print $2}'
}
function requests {
    $curl $url 2>/dev/null| awk NR==3 | awk '{print $3}'
}
$1

curl

efcf09867a9e4a06f6a01ba71a2bccf9c84.jpg

更改权限    chmod 755 /usr/local/sbin/ngx_status.sh

在客户端002上,编辑zabbix_agent.conf

vi /etc/zabbix/zabbix_agentd.conf # 增加
UserParameter=nginx.status[*],/usr/local/sbin/ngx_status.sh $1 用来定义自定义的脚本,如果有多个脚本,就定义多行,执行该脚本后,可以获取到该机器上的某些指标的数值

b236b0604f9d79a0570113f124253d4ff81.jpg

重启服务

systemctl restart zabbix-agent

zabbix_get 测试

在服务端执行

zabbix_get -s 192.168.183.33 -k 'nginx.status[accepts]'

f3f10ec28cf6ab5d71825af0081ca708cf1.jpg

导入nginx模板

下载模板 https://github.com/aminglinux/linux2019/blob/master/zabbix_nginx_template/zbx_export_templates.xml

配置->模板->导入,把在上面链接复制的内容复制到xml文件中导入->规则不动->导入

fa36b8a831e155e6e138f1fa6b8dcf89d9e.jpg

监控nginx的状态页

配置->主机->点击需要设置的机器->模板->选择Template App NGINX->添加->更新

2b12e458481aa1a50d47dd10d43fcd1f575.jpg

zabbix监控Tomcat

监控流程:

1)安装zabbix_java_gateway
2)配置zabbix_java_gateway配置文件和zabbix_server配置文件,指定监听端口,启动进程数
3)编辑Tomcat配置文件,开启JMX
4)添加host,指定JMX interface
5)链接TOMCAT模板

服务端001上,安装zabbix_java_gateway

yum install -y zabbix-java-gateway

修改配置文件

vim /etc/zabbix/zabbix_java_gateway.conf 
    去掉 LISTEN_PORT 和 START_POLLERS  的注释

vim /etc/zabbix/zabbix_server.conf
    定义 JavaGateway 和 JavaGatewayPort 和  StartJavaPollers

启动zabbix-java-gateway服务 systemctl start zabbix-java-gateway

重启zabbix-server服务 systemctl restart zabbix-server

1e1d9633feb8730a95c68ba222ee9cca6fc.jpg

856f018811a538ca4a8ad00dbb6a33e95b8.jpg

开启JMX

vim /usr/local/tomcat/bin/catalina.sh #在#!/bin/sh下增加
export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=192.168.183.3
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"

6d394751f240d3feb664a1e7b06f40dae9b.jpg

重启tomcat,如果启动了需要先停止

/usr/local/tomcat/bin/shutdown.sh 
/usr/local/tomcat/bin/startup.sh

监听了9999端口
d24d8f3ad957f6d6ef2524fb286f3fa8278.jpg

添加Host链接模板

配置->主机->创建主机
agent代理程序的接口 -> 移除
JMX接口 -> Add -> 192.168.183.3  9999
模板-> 选择-> Template App Apache Tomcat JMX -> 添加-> 添加

 zabbix监控MySQL

授权一个监控用户

grant usage, process, replication client on *.* to 'mon'@'localhost' identified by 'x2ay9xodTvyM';

编辑配置文件

cat /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

8053626b52b9cea8cd5e4c4b5a2c97b16aa.jpg

mkdir /var/lib/zabbix   创建目录
vim /var/lib/zabbix/.my.cnf #创建一个隐藏的配置文件,内容如下
[mysql]
host=localhost
user=mon
password='x2ay9xodTvyM'
socket=/tmp/mysql.sock

[mysqladmin]
host=localhost
user=mon
password='x2ay9xodTvyM'
socket=/tmp/mysql.sock

可以通过  mysql -umon -px2ay9xodTvyM   看是否能够连接

重启zabbix-agent服务

systemctl restart zabbix-agent

测试

zabbix_get -s 127.0.0.1 -p 10050 -k mysql.ping
若提示:sh: mysqladmin: 未找到命令
需要做软连接: ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/

a85e13e5394529788ceeb2d427b15182048.jpg

zabbix_get -s 127.0.0.1 -p 10050 -k mysql.version
zabbix_get -s 127.0.0.1 -p 10050 -k mysql.size

6b974c8ee8c22528bba4ebd5dd0c95c945e.jpg

添加主机和模板

配置->主机->创建主机
模板->Template DB MySQL->添加->添加

de652f54ccbce93d50d1e66316acddb2d60.jpg

957c086cc85b84aea09bdc1be7dd2c64cc6.jpg

0898f8c4cd6c52e2bb8e48f1952357f9df7.jpg

转载于:https://my.oschina.net/u/4093217/blog/3060340

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值