|
zabbix介绍 Zabbix 是一个企业级的分布式开源监控方案。能够监控各种网络参数以及服务器健康性和完整性。支持灵活的通知机制,提供出色的报告和数据可视化功能。Zabbix支持主动轮询和被动捕获。最关键的是源代码都是免费发行的,可供公众任意使用。这也是它在中小企业广为流行的重要原因之一。下面就详细介绍如何在Centos7下面部署最新的zabbix。 zabbix模式: Zabbix 通过 C/S 模式采集数据,通过 B/S 模式在 web 端展示和配置。 被监控端:主机通过安装 agent 方式采集数据,网络设备通过 SNMP 方式采集数据 Server 端:通过收集 SNMP 和 agent 发送的数据,写入数据库(MySQL,ORACLE 等),再通过 php+apache 在 web 前端展示。 zabbix运行: Server:Zabbix Server 需运 行在 LAMP( Linux+Apache+Mysql+PHP)环 境下( 或者LNMP),对硬件要求低 Agent:目前已有的 agent 基本支持市面常见的 OS,包含 Linux、HPUX、Solaris、Sun、windows SNMP:支持各类常见的网络设备
优劣势: 优点: 开源,无软件成本投入 Server 对设备性能要求低 支持设备多,自带多种监控模板 支持分布式集中管理,有自动发现功能,可以实现自动化监控 开放式接口,扩展性强,插件编写容易 当监控的 item 比较多服务器队列比较大时可以采用被动状态,被监控客户端主动从server 端去下载需要监控的 item 然后取数据上传到 server 端。这种方式对服务器的负载比较小。 Api 的支持,方便与其他系统结合 缺点: 需在被监控主机上安装 agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。
部署环境 OS:Centos7.4 引言-本次实验安装7.2版本,7.2的安装包里面不存在4个补丁,且系统中均为php-bcmath-5.4.16-36.el7_1.x86_64,若是其他版本请格外注意后缀名 若存在其他版本,下载地址为 http://rpm.pbone.net/, 搜索时需要带上版本号,例如搜索php-bcmath-5.4.16-36.el7_1
由于本机是7.2,先提供补丁包 <<php-common-5.4.16-36.el7_1.x86_64.rpm>> <<libevent-devel-2.0.21-4.el7.x86_64.rpm>> <<php-mbstring-5.4.16-36.el7_1.x86_64.rpm>> <<php-bcmath-5.4.16-36.el7_1.x86_64.rpm>>
[root@zabbix ~]# lsb_release -a 查看版本号
1、关闭selinux [root@zabbix ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config #禁用selinux,需重启 [root@zabbix ~]# setenforce 0 #临时关闭,不需要重启就关闭了 2、关闭防火墙 [root@zabbix ~]# systemctl stop firewalld.service #关闭防火强,重启后有会恢复上一次的配置情况 [root@zabbix ~]# systemctl disable firewalld.service #禁止防火墙开机自启,即重启后,防火墙就不会自动启动 [root@zabbix ~]# firewall-cmd --state #查看防火墙是否是启动状态 not running 3.修改host [root@zabbix ~]# cat /etc/hosts 127.0.0.1 localhost 10.0.1.110 zabbix 4.安装依赖包 --rh7.2里面不存在部分依赖包,请各自下载 [root@zabbix ~]# yum -y install gcc* make php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel net-snmp net-snmp-devel perl-DBI httpd mariadb* mysql-devel libxml2-devel curl-devel unixODBC-devel OpenIPMI-devel openldap openldap-devel libevent-devel php-ldap
5.安装mysql数据库,这里我们使用MariaDB --rh7后系统盘自带的为mariadb [root@zabbix ~]# yum install –y mariadb mariadb-server [root@zabbix ~]# systemctl start mariadb.service [root@zabbix ~]# systemctl enable mariadb.service [root@zabbix ~]# mysqladmin -u root -p password mysql #设置root的密码为mysql 这步我没有设置,登陆直接使用mysql -u root Enter password: #输入mysql并回车
6.创建zabbix用户和组 [root@zabbix ~]# groupadd zabbix [root@zabbix ~]# useradd -g zabbix zabbix 7.zabbix解压及安装 [root@zabbix src]# tar -xvf zabbix-3.4.8.tar.gz [root@zabbix zabbix-3.4.8]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc [root@zabbix zabbix-3.4.8]# make install 7.创建zabbix数据库,并导入表结构 MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; Query OK, 0 rows affected (0.00 sec) [root@zabbix mysql]# pwd /src/zabbix-3.4.8/database/mysql [root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql [root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < images.sql [root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < data.sql 8.修改PHP的配置参数 [root@zabbix ~]# vi /etc/php.ini date.timezone = Asia/Shanghai #设置时区 max_execution_time = 300 #php脚本最大执行时间 post_max_size = 32M #上传文件大小 mbstring.func_overload = 1 max_input_time = 300 #以秒为单位对通过POST、GET以及PUT方式接收数据时间进行限制 9.移动zabbix项目到httpd目录中去 [root@zabbix ~]# cp -r /src/zabbix-3.4.8/frontends/php/ /var/www/html/zabbix --注意zabbix目录下直接为各文件,/zabbix/php/是错误的 [root@zabbix ~]# chown -R apache:apache /var/www/html/zabbix/ 10.修改httpd.config [root@zabbix ~]# vi /etc/httpd/conf/httpd.conf DcumentRoot "/var/www/html/zabbix" 10.修改配置文件zabbix_server.conf 创建相关目录 [root@zabbix zabbix]# pwd /usr/local/zabbix [root@zabbix zabbix]# mkdir logs/ externalscripts/ alertscripts/ 修改zabbix_server.conf如下: [root@zabbix zabbix]# grep -n '^'[a-Z] /usr/local/zabbix/etc/zabbix_server.conf 38:LogFile=/usr/local/zabbix/logs/zabbix_server.log 68:PidFile=/usr/local/zabbix/logs/zabbix_server.pid 95:DBName=zabbix 111:DBUser=zabbix 440:Timeout=4 480:AlertScriptsPath=/usr/local/zabbix/alertscripts 488:ExternalScripts=/usr/local/zabbix/externalscripts 524:LogSlowQueries=3000 11.zabbix服务启动脚本 [root@zabbix ~]# cp /src/zabbix-3.4.8/misc/init.d/fedora/core/zabbix_server /etc/init.d/ 将启动脚本的路径修改为/usr/local/zabbix [root@zabbix ~]# vi /etc/init.d/zabbix_server BASEDIR=/usr/local/zabbix 12.开机启动 [root@zabbix ~]#chkconfig --add zabbix_server [root@zabbix ~]#chkconfig zabbix_server on [root@zabbix ~]#systemctl enable httpd.service [root@zabbix ~]#systemctl enable mariadb.service [root@zabbix ~]#systemctl start httpd.service [root@zabbix ~]#/etc/init.d/zabbix_server restart
--若监控本机 cp /src/zabbix-3.4.8/misc/init.d/fedora/core/zabbix_server /etc/init.d/ chkconfig --add zabbix_agentd chkconfig enable zabbix_agentd
[root@zabbix ~]# vi /etc/init.d/zabbix_agentd BASEDIR=/usr/local/zabbix
vi /usr/local/zabbix/etc/zabbix_agentd.conf Server=127.0.0.1 指定允许谁访问自己 ServerActive=127.0.0.1:10051 监控端IP和端口号
/etc/init.d/zabbix_agentd restart
13.web服务初始化 输入服务器IP地址10.0.1.110
环境配置检测,如果有任何的报错,应返回前面的步骤进行排查 问题:是因为缺少php-ldap包,只需要安装即可 [root@zabbix ~]# yum install php-ldap
登陆,默认用户名Admin,密码zabbix
14.中文显示乱码:
处理方法: 1、修改配置文件defines.inc.php [root@zabbix ~]#cd /var/www/html/zabbix/include/ [root@zabbix include]# vi defines.inc.php 54 define('ZBX_GRAPH_FONT_NAME', 'msyh'); 103 define('ZBX_FONT_NAME', 'msyh'); 2、拷贝字体及授权 将win7系统微软雅黑的字体C:\Windows\Fonts,先拷贝桌面, 在将msyh,msyhbd字体拷贝/var/www/html/zabbix/fonts 注意权限的问题 [root@zabbix ~]# cd /var/www/html/zabbix/fonts/ [root@zabbix fonts]# chown -R apache.apache * 最终显示如下:
|
|
客户端配置
[root@pma zabbix-3.4.8]# groupadd zabbix [root@pma zabbix-3.4.8]# useradd -g zabbix zabbix [root@pma zabbix-3.4.8]# passwd zabbix zabbix用户需要创建,否则进程无法启动 >挂载IOS磁盘 mount -o loop –t iso9660 … >安装依赖包 yum install gcc* pcre* ./configure --prefix=/usr/local/zabbix --enable-agent Make install [root@pma zabbix-3.4.8]# make install [root@pma zabbix-3.4.8]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ [root@pma zabbix-3.4.8]# vi /etc/init.d/zabbix_agentd BASEDIR=/usr/local/zabbix [root@pma zabbix-3.4.8]# vi /usr/local/zabbix/etc/zabbix_agentd.conf Server=127.0.0.1,158.220.42.63
创建主机
选择模板
状态正常
新增客户端后出现问题:
修改[root@localhost etc]# vi /usr/local/zabbix/etc/zabbix_server.conf StartDiscoverers=3 默认为1
|
|
|
Zabbix监控磁盘io
修改客户端配置文件 vi /usr/local/zabbix/etc/zabbix_agentd.conf Include=/usr/local/zabbix/etc/zabbix_agentd.d/*.conf
vi /usr/local/zabbix/etc/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}'
该参数文件中字段说明: 1:文件名可以随意,但需以.conf结尾(因为在配置文件中指定的,可修改,修改后对应相应文件即可)。 2:UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$10}' 其中custom.vfs.dev.write.sectors名称可变更。 例如,配置一个磁盘IO的参数 UserParameter=custom.vfs.dev.rw.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$4 + $$8}' 重启后测试: /usr/local/zabbix/bin/zabbix_get -s 192.168.1.76 -p 10050 -k 'custom.vfs.dev.rw.ops[sda]'
/etc/init.d/zabbix_agentd restart
服务端: /usr/local/zabbix/bin/zabbix_get -s 192.168.1.76 -p 10050 -k 'custom.vfs.dev.read.ops[sda]'
监控中发现:cpu load与TOP值不同 ---其实监控是正确的,因为监控项本身就是process load per cpu,只是看起来与TOP总负载不同。 修改process load 模板(1min 5min 15min) 修改键值为system.cpu.load[all,avg1]等或system.cpu.load[,avg5],修改名称
|
|
|
|
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29602085/viewspace-2156026/ ,如需转载,请注明出处,否则将追究法律责任。