CentOS7.x编译安装zabbix4.0
编译安装zabbix
Zabbix简介
Zabbix 是一个企业级的分布式开源监控方案。
Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。这些功能使得Zabbix成为容量规划的理想方案。
Zabbix支持主动轮询和被动捕获。Zabbix所有的报告、统计信息和配置参数都可以通过基于Web的前端页面进行访问。基于Web的前端页面可以确保您从任何方面评估您的网络状态和服务器的健康性。适当的配置后,Zabbix可以在IT基础架构监控方面扮演重要的角色。对于只有少量服务器的小型组织和拥有大量服务器的大型公司也同样如此。
Zabbix是免费的。Zabbix是根据GPL通用公共许可证第2版编写和发行的。这意味着它的源代码都是免费发行的,可供公众任意使用。
Zabbix基于LAMP架构,或者LNMP架构进行工作。
Zabbix功能点:数据收集,灵活的阀值定义,高度可配置化的告警,实时图表绘制,Web监控功能,丰富的可视化选项,历史数据存储,配置简单,使用模板,网络发现,快捷的Web界面,Zabbix API,权限管理系统,功能强大,易于扩展的agent,二进制代码,使用Zabbix proxy代理服务器,使得远程监控更简单。
系统环境
# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)
# uname -r
3.10.0-957.el7.x86_64
# getenforce
Disabled
# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
下载zabbix源码包
https://www.zabbix.com/cn/download_sources 可以在此页面找到想要的zabbix源码包。
# tar xf zabbix-4.0.6.tar.gz
安装依赖包
# yum install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre pcre-devel net-snmp-devel libevent-devel -y
创建zabbix相关的用户
# groupadd --system zabbix
# useradd --system -g zabbix -d /application/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
创建相关zabbix目录
# mkdir -m u=rwx,g=rwx,o= -p /application/zabbix
# chown zabbix:zabbix /application/zabbix
创建默认数据库
create database zabbix default character utf8; #创建库
grant all privileges on zabbix.* to zabbix@'localhost' identified by '123456'; #授权库
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'qwer 1234' WITH GRANT OPTION; #授权库另一种放法
use zabbix #切换到zabbix库
导入默认的数据库文件
mysql> source /mnt/zabbix-4.0.6/database/mysql/schema.sql
mysql> source /mnt/zabbix-4.0.6/database/mysql/images.sql
mysql> source /mnt/zabbix-4.0.6/database/mysql/data.sql
编译装装
./configure --prefix=/application/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
make && make install
配置zabbix配置文件
# egrep -v '^$|^#' /application/zabbix/etc/zabbix_agentd.confLogFile=/tmp/zabbix_agentd.log
Server=10.0.0.100
ServerActive=10.0.0.100
Hostname=Zabbix server
Include=/application/zabbix/etc/zabbix_agentd.conf.d/*.conf
# egrep -v '^$|^#' /application/zabbix/etc/zabbix_server.confLogFile=/tmp/zabbix_server.log
DBHost=10.0.0.100
DBName=zabbix
DBUser=zabbix
DBPassword=qwer 1234
DBSocket=/application/mysql/mysql.sock
Timeout=4
LogSlowQueries=3000
Include=/application/zabbix/etc/zabbix_server.conf.d/*.conf
启动zabbix-server和zabbix-agent
./zabbix_agentd
./zabbix_server
安装zabbix-agent客户端
#类似服务端安装,由于未在官网找到关于zabbix4.0的agent的包,可以用源码包安装,另一种可以通过yum源方式安装zabbix客户端
利用zabbix的源码包进行安装
# yum install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre pcre-devel net-snmp-devel libevent-devel -y
创建zabbix相关的用户
# groupadd --system zabbix
# useradd --system -g zabbix -d /application/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
创建相关zabbix目录
# mkdir -m u=rwx,g=rwx,o= -p /application/zabbix
# chown zabbix:zabbix /application/zabbix
编译安装zabbix-agent
./configure --prefix=/application/zabbix --enable-agent
修改配置问价为下方
# egrep -v '^$|^#' /application/zabbix/etc/zabbix_agentd.confLogFile=/tmp/zabbix_agentd.log
Server=10.0.0.100
ServerActive=10.0.0.100
Hostname=Zabbix agent
Include=/application/zabbix/etc/zabbix_agentd.conf.d/*.conf
启动agnet服务端
/zabbix_agentd
故障问题
问题一:找不到共享库
ln -s /application/mysql/lib/libmysqlclient.so.20 /usr/local/lib/libmysqlclient.so.20 #find找到此库,然后创建软连接
# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib #添加此行信息
# /sbin/ldconfig -v #更新配置信息
Zabbix服务就可以启动了
问题二:没有zabbix-web页面 #复制默认zabbix-web页面
# pwd #解压的源码包
/mnt/zabbix-4.0.6/frontends/php
# cp -rf ./* /application/nginx/html/Zabbix #复制到nginx的html目录下
Zabbix discoverer processes more than 75% busy # Zabbix发现处理超过75%的使用率
修改zabbix_server.conf配置文件
vim zabbix_server.conf
...
StartDiscoverers=2 修改此处,范围是0-250;
...
zabbix无告警
开启监控项
勾选Wizard,默认选择全部触发器
选择启用,之后报警就能使用了,修改刷新时间为1分钟。