linux zabbix系统监控部署

使用zabbix 监控linux系统性能

zabbix官方文档地址:https://www.zabbix.com/documentation/current/

一 、zabbix server安装

准备工作: 关闭selinux 和 iptables

systemctl stop firewalld.service

setenforce 0

1.使用源 rpm -vhi http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm 
2.安装zabbix-server-mysql和zabbix-web-mysql,命令 yum install -y zabbix-server-mysql zabbix-web-mysql
3.安装并启动mysql及初始化数据库信息
注:若已安装则不必重新安装mysql
使用源: rpm -ivh http://repo.mysql.com/yum/mysql-5.6-community/el/6/x86_64/mysql-community-release-el6-5.noarch.rpm 
安装命令: yum install -y mysql-community-server 
启动mysql: systemctl start mysqld
设置开机启动: /sbin/chkconfig mysqld on
初始化数据库信息: mysql_secure_installation
4.创建zabbix数据库,同时再创建zabbix账号
进入mysql: mysql -uroot -p
注:创建数据库记得设置编码格式为utf-8否则可能在web端出现乱码,图形无法正确展示
mysql>  create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
5.导入初始数据
在 /usr/share/doc/zabbix-server-mysql-3.0.23/ 目录下有个 create.sql.gz 文件
注: 可能版本不同导致目录不相同,可以通过搜索文件的方式获取具体的目录 find / -name create.sql.gz
导入默认配置: zcat /usr/share/doc/zabbix-server-mysql-3.0.23/create.sql.gz | mysql zabbix -uzabbix -pzabbix
6.修改zabbix_server.conf配置
DBHost=localhost #指明server数据库的地址
DBName=zabbix #数据库名
DBUser=zabbix #数据库用户名
DBPassword=zabbix #数据库密码
7.修改时区 vi /etc/httpd/conf.d/zabbix.conf

8.启动zabbix-server服务
启动服务: systemctl start zabbix-server
设置开机启动: systemctl enable zabbix-server

注:若启动失败可以用 journalctl -exjournalctl -xn 查看,或者查看 zabbix-server的log路径(zabbix_server.conf中),如下图

二、安装zabbix-agent

zabbix-agent可以和zabbix-server分开部署,本案例是分开部署,即在被监控的机器上安装zabbix-agent

1.获取yum源 rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/zabbix-agent-3.0.23-1.el6.x86_64.rpm

注:可以将源的地址改为自己想要安装的实际版本的地址 版本源可参考:https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/

源设置如图:

2.安装

安装命令: yum install zabbix-agent

添加开机启动:chkconfig zabbix-agent on

此时可以看到已经在  /etc/zabbix/ 文件夹下生成了 zabbix_agentd.conf和zabbix_agentd.d

3.配置 zabbix_agentd.conf文件

3.1 配置内容

Server=安装zabbix-server的主机ip

ListenPort=10050 #agent使用10050端口与server建立连接

Hostname=agent_test #主机名

BufferSize=100 #缓存大小

Timeout=30 #超时时间

UnsafeUserParameters=1 #允许所有字符的参数传递给用户定义的参数

3.2 配置agent用户和组

$groupadd zabbix

$useradd -g zabbix

之后启动agent

命令: systemctl start zabbix-agent.service

使用 netstat -an | grep 10050 查看10050端口是否成功启动

如上显示表明 agent 启动成功

注:记得被监控主机开放 10050 端口

三、配置IO监测

1.在 /etc/zabbix/zabbix_agentd.d 下添加 userparameter_io.conf 文件

UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$4}'
UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$7}'     #//磁盘读的毫秒数
UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$8}' #//磁盘写的次数
UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$11}'   #//磁盘写的毫秒数
UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$12}'
UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$13}'      #//花费在IO操作上的毫秒数
UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$6}'        #//读扇区的次数(一个扇区的等于512B)
UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$10}'      #//写扇区的次数(一个扇区的等于512B)

2.重启 zabbix-agent 服务: systemctl restart zabbix-agent.service

3.在 zabbix-server 端获取数据测试

zabbix_get -s 被监控主机IP -p 10050 -k custom.vfs.dev.write.ops[vda1],能获取到数据说明配置成功

注:vda1是目标盘号

四、web端创建主机,添加IO监控

1. 创建被监控主机

添加后点击主机可以看到新添加的主机

2.添加应用集:点击主机所在行的应用集,进入后右上角点击创建应用集,名称自己定义

 

3.在所在主机菜单点击模板选项,选择连接指示器,在相应的群组中选择相应的模板

注:点击更新前需要点击添加按钮,否则添加不生效

4.在模板中点击监控项,创建相应的监控项(按钮同样在右上角)

 

4.1 配置第一个监控项

 Name:  Disk:$1:Read:Bytes/sec
   Key:  custom.vfs.dev.read.sectors[vda1]
   Units: B/sec
   Store value: speed per second //会进行差值计算
   Use custom multiplier     512  //会对值乘以512,因为这里是一个扇区,转换为字节为512B
4.2 配置第二个监控项

 Name:Disk:$1:Write:Bytes/sec
                  Key:          custom.vfs.dev.write.sectors[vda1]
                  Units:        B/sec
                  Store value: speed per second
                  Use custom multiplier     512

4.3 配置第三个监控项

  Name:Disk:$1:Read:ops per second
                  Key:          custom.vfs.dev.read.ops[vda1]
                  Units:        ops/second
                  Store value: speed per second

4.4 配置第四个监控项 Name: Disk:$1:Write:ops per second
                  Key:          custom.vfs.dev.write.ops[vda1]
                  Units:        ops/second
                  Store value: speed per second

4.5 配置第五个监控项

 Name: Disk:$1:Read:ms
                  Key:         custom.vfs.dev.read.ms[vda1]
                  Units:      ms
                  Store value: speed per second

4.6 配置第六个监控项

Name:Disk:$1:Write:ms
                  Key:         custom.vfs.dev.write.ms[vda1]
                  Units:      ms
                  Store value: speed per second

注:参数 vda1 为监控的盘符,可在agent服务器上通过 df 命令进行查询,一般监控使用多的盘

5. 创建监控图形,在模板中点击图形,再点击右上角的创建图形按钮

至此图形创建成功,如图

点击预览可看到图形

样式如图,可能不会实时显示数据,如想看数据,可在菜单栏点击 监控中》》图形》》群组》》主机》》图形》》

五、自建模板监控某进程的状态

(一).场景:如监控 b2b-discovery-0.1.0-SNAPSHOT.jar 这个jar包在被监控主机中是否运行中、所占cpu资源、cpu使用时间等信息

一般监控项的结果是数值或文本,如 检测以上jar包有几个进程在运行

最终通过agent将数据插入数据库保存,在web页面展示或设置报警等操作,如图

(二)在agent端配置监控文件

1. 编辑的文件目录 vi etc/zabbix/zabbix_agentd.conf

在 UserParameter 下添加配置 

UserParameter=discovery_proc_num,ps -ef|grep b2b-discovery-0.1.0-SNAPSHOT.jar |grep -v grep|wc -l

成功后重启agent 命令: systemctl restart zabbix-agent.service

(三)web端创建监控项

其监控命令:

UserParameter=discovery_proc_num,ps -ef|grep b2b-discovery-0.1.0-SNAPSHOT.jar |grep -v grep|wc -l #进程数数
UserParameter=discovery_cpu_resourse_use_rate,ps -ef|grep b2b-discovery-0.1.0-SNAPSHOT.jar |grep -v grep|awk '{print $4}' # 应用占用cpu资源百分比
UserParameter=discovery_cpu_use_time,ps -ef|grep b2b-discovery-0.1.0-SNAPSHOT.jar |grep -v grep|awk '{print $7}' #cpu占用时间
UserParameter=discovery_cpu_use_rate,ps -aux|grep b2b-discovery-0.1.0-SNAPSHOT.jar |grep -v "grep"|grep -v "processstatus.sh"|awk '{sum+=$3}; END{print sum}' #cpu使用率
UserParameter=discovery_mem_use_rate,ps -aux|grep b2b-discovery-0.1.0-SNAPSHOT.jar |grep -v "grep"|grep -v "processstatus.sh"|awk '{sum+=$4}; END{print sum}' #内存使用率
 

结尾:

以下贴出一下自己查过的资料

zabbix各项监控方式综述(很全): http://blog.51cto.com/ustogether/1922361

agent 端配置文件说明: http://blog.chinaunix.net/uid-29155617-id-4668602.html

server端安装部署: https://www.cnblogs.com/xiewenming/p/7732144.html

创建模板、监控项: http://blog.51cto.com/183530300/2087741

自定义IO监控: https://blog.csdn.net/hao134838/article/details/57406028

添加IO监控: https://blog.csdn.net/mtj66/article/details/78591663

监控进程的cpu的内存占用量: https://blog.csdn.net/dc666/article/details/78120828

agent类型key:http://www.ttlsa.com/zabbix/zabbix-agent-types-and-all-keys/

安装agent并添加到zabbix web中监控: http://blog.51cto.com/dyc2005/1971212

阿里云zabbix教程(也很全,有不懂的也可参考): https://www.aliyun.com/jiaocheng/135759.html

zabbix常用监控项: https://blog.csdn.net/u011731378/article/details/80154393

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值