1、前提 需要部署好LAMP(LNMP)环境,具体组件:httpd、mysql(mariadb)、php、php-mysql Ubuntu:
1 sudo apt install apache2 mariadb-server php php-mysql -y
Centos:
1 yum install httpd mariadb-server php php-mysql -y
启动相关服务: Ubuntu:
1 2 3 4 sudo systemctl start apache2 && sudo systemctl start mariadb sudo systemctl enable apache2 && sudo systemctl enable mariadb
Centos:
1 2 3 4 systemctl start httpd && systemctl start mariadb systemctl enable httpd && systemctl enable mariadb
基础环境验证,配置一个php测试页面1 2 3 4 5 vim /var/www/html/index.php <?php phpinfo(); ?>
浏览器访问127.0.0.1/index.php,如果出现以下页面说明没问题 安装zabbix依赖 Ubuntu:1 sudo apt install libxml2-dev libsnmp-dev libevent-dev libpcre3-dev libmysqld-dev libghc-curl-dev libcurl4-openssl-dev libsnmp-dev *snmp* libperl-dev php-bcmath php-mbstring php-xmlwriter php-xmlreader libldap-2.4-2 ldap-utils libldap2-dev php-gd
Centos:1 yum install net-snmp-devel libxml2-devel libcurl-deve libevent libevent-devel curl curl-devel mysql-devel net-snmp *snmp* perl-DBI php-gd php-xm php-bcmath php-mbstring php-ldap php-odbc php-xmlpc mysql-deve gcc dos2unix -y
2、编译安装zabbix server(5.4.9) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 sudo wget https://cdn.zabbix.com/zabbix/sources/stable/5.4/zabbix-5.4.9.tar.gz sudo tar -xvf zabbix-5.4.9.tar.gzcd zabbix-5.4.9 sudo ./configure --prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix --enable-server --enable-agent --enable-proxy --with-mysql --enable-net-snmp --with-libcurl sudo make sudo make install sudo cp /opt/zabbix-5.4.9/misc/init.d/debian/zabbix-* /etc/init.d/chmod o+x /etc/init.d/zabbix-serverln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
创建zabbix数据库,执行授权命令:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 sudo mysql -uroot use mysql update user set password=password("123456" )where user='root' ; GRANT ALL PRIVILEGES ON *.* TO 'root' @'%' IDENTIFIED BY '123456' WITH GRANT OPTION; flush privileges; create database zabbix character set utf8 collate utf8_bin; GRANT ALL PRIVILEGES ON zabbix.* to zabbix@localhost identified by '123456' ; flush privileges;
导入zabbix基础SQL:
1 2 3 mysql -uzabbix -p123456 zabbix < database/mysql/schema.sql mysql -uzabbix -p123456 zabbix < database/mysql/images.sql mysql -uzabbix -p123456 zabbix < database/mysql/data.sql
修改zabbix server配置文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 cd /etc/zabbix sudo cp -fp zabbix_server.conf zabbix_server.conf.bak sudo vim zabbix_server.conf LogFile=/tmp/zabbix_server.log DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=123456
配置zabbix web页面:
1 2 3 sudo cp -a /opt/zabbix-5.4.9/ui/* /var/www/html/ sudo systemctl restart mariadb sudo systemctl restart apache2
3、zabbix agent安装 Ubuntu:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 sudo apt install libxml2-dev libsnmp-dev libevent-dev libpcre3-dev libmysqld-dev libghc-curl-dev libcurl4-openssl-dev libsnmp-dev *snmp* libperl-dev php-bcmath php-mbstring php-xmlwriter php-xmlreader libldap-2.4-2 ldap-utils libldap2-dev php-gd sudo wget https://cdn.zabbix.com/zabbix/sources/stable/5.4/zabbix-5.4.9.tar.gz sudo tar -xvf zabbix-5.4.9.tar.gzcd zabbix-5.4.9 sudo ./configure --prefix=/usr/local/zabbix --enable-agent sudo make sudo make installln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.bak vim /etc/zabbix/zabbix_agentd.conf LogFile=/tmp/zabbix_agentd.log Server=192.168.10.128 ServerActive=192.168.10.128 Hostname = 192.168.10.130cp misc/init.d/tru64/zabbix_agentd /etc/init.d/zabbix_agentedchmod o+x /etc/init.d/zabbix_agented /etc/init.d/zabbix_agented start
服务端添加客户端: Zabbix ->configuration -hosts-Create host -Host name 和Agent interfaces,同时选择添加 templates 模板-选择Add -勾选Template OS Linux-选择Add 提交;
注意:此处Host name 名称与Agentd.conf 配置文件中Hostname 保持一致,否则会报错。
查看监控主机数据: Monitoring->Hosts->Graphs
3、zabbix配置详解 zabbix_server.conf 配置文件参数详解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 DBHost 数据库主机地址; DBName 数据库名称; DBPassword 数据库密码; DBPort 数据库端口,默认为3306; AlertScriptsPath 告警脚本存放路径; CacheSize 存储监控数据的缓存; CacheUpdateFrequency 更新一次缓存时间; DebugLevel 日志级别; LogFile 日志文件; LogFileSize 日志文件大小,超过自动切割; LogSlowQueries 数据库慢查询记录,单位毫秒; PidFile PID 文件; ProxyConfigFrequency Proxy 被动模式下,Server 多少秒同步配置文件至proxy; ProxyDataFrequency 被动模式下,Server 间隔多少秒向proxy 请求历史数据; StartDiscoverers 发现规则线程数; Timeout 连接Agent 超时时间; TrendCacheSize 历史数据缓存大小; User Zabbix 运行的用户; HistoryCacheSize 历史记录缓存大小; ListenIP 监听本机的IP 地址; ListenPort 监听端口; LoadModule 模块名称; LoadModulePath 模块路径。
zabbix_Proxy.conf 配置文件参数详解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ProxyMode Proxy 工作模式,默认为主动模式,主动发送数据至Server; Server 指定Server 端地址; ServerPort Server 端PORT; Hostname Proxy 端主机名; ListenPort Proxy 端监听端口; LogFile Proxy 代理端日志路径; PidFile PID 文件的路径; DBHost Proxy 端数据库主机名; DBName Proxy 端数据库名称; DBUser Proxy 端数据库用户; DBPassword Proxy 端数据库密码; DBSocket Proxy 数据库SOCKET 路径; DBPort Proxy 数据库端口号; DataSenderFrequency Proxy 向Server 发送数据的时间间隔; StartPollers Proxy 程池数量; StartDiscoverers Proxy 端自动发现主机的线程数量; CacheSize 内存缓存配置; StartDBSyncers 同步数据线程数; HistoryCacheSize 历史数据缓存大小; LogSlowQueries 慢查询日志记录,单位为毫秒; Timeout 超时时间。
zabbix_agentd.conf 配置文件参数详解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 EnableRemoteCommands 运行服务端远程至客户端执行命令或者脚本; Hostname 客户端主机名; ListenIP 监听的IP 地址; ListenPort 客户端监听端口; LoadModulePath 模块路径; LogFile 日志文件路径; PidFile PID 文件名; Server 指定Server IP 地址; ServerActive Zabbix 主动监控server 的ip 地址; StartAgents Agent 启动进程,如果设置为0,表示禁用被动监控; Timeout 超时时间 User 运行Zabbix 的用户; UserParameter 用户自定义key; BufferSize 缓冲区大小; DebugLevel Zabbix 日志级别。
4、配置自动发现,创建发现规则
1 2 3 4 5 6 Name 规则名称; Discovery by proxy 通过代理探索; IP range zabbix_server 探索区域的IP 范围; Delay 搜索一次的时间间隔; Checks 检测方式,如用ping 方式去发现主机,zabbix_server 需安装fping,此处使用Agent方式发现; Device uniqueness criteria 以IP 地址作为被发现主机的标识。
zabbix 发现规则创建完毕,客户端Agent 安装完后,被发现的IP 主机不会自动添加至Zabbix 监控列表,需要添加发现动作 至此,自动发现全部创建完成 可以点击Monitoring->Discovery,查看检测到的主机
5、问题汇总 5.1、初始化页面报错 解决办法:
1 2 3 4 5 6 sudo vim /etc/php/7.2/apache2/php.ini post_max_size =16M max_execution_time =300 max_input_time =300 date.timezone = Asia/Shanghai