[toc]
zabbix介绍:zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Ubuntu,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。
zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。
另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。
zabbix的主要特点:
安装与配置简单,学习成本低
支持多语言(包括中文)
免费开源
自动发现服务器与网络设备
分布式监视以及WEB集中管理功能
可以无agent监视
用户安全认证和柔软的授权方式
通过WEB界面设置或查看监视结果
email等通知功能
CPU负荷
内存使用
磁盘使用
网络状况
端口监视
日志监视
zabbix配置文件
服务器端配置文件(/usr/local/etc/zabbix_server.conf)
客户端配置文件(/usr/local/etc/zabbix_agentd.conf)
zabbix代理配置文件(/usr/local/etc/zabbix_proxy.conf)
- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视
安装依赖包
[root@localhost ~]# dnf -y install net-snmp-devel libevent-devel
下载
官网https://www.zabbix.com/
通过xftp传过来[root@localhost ~]# lsanaconda-ks.cfg apr-util-1.6.1 passapr-1.7.0 httpd-2.4.43 zabbix-5.2.6.tar.gz#解压[root@localhost ~]# tar xf zabbix-5.2.6.tar.gz ls[root@localhost ~]# lsanaconda-ks.cfg apr-util-1.6.1 pass zabbix-5.2.6.tar.gzapr-1.7.0 httpd-2.4.43 zabbix-5.2.6#创建系统用户[root@localhost ~]# useradd -r -M -s /sbin/nologin zabbix[root@localhost ~]# id zabbixuid=991(zabbix) gid=989(zabbix) groups=989(zabbix)
配置zabbix数据库[root@localhost ~]# mysql -uroot -phzymysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 2Server version: 5.7.33 MySQL Community Server (GPL)Copyright (c) 2000, 2021, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> create database zabbix character set utf8 collate utf8_bin;Query OK, 1 row affected (0.00 sec)mysql> create user 'zabbix'@'localhost' identified by 'zabbix123';Query OK, 0 rows affected (0.00 sec)mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identifiedd by 'zabbix123';Query OK, 0 rows affected, 2 warnings (0.00 sec)mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sys || zabbix |+--------------------+5 rows in set (0.00 sec)mysql> show tables from zabbix;Empty set (0.00 sec)mysql> quitBye
导入数据库[root@localhost ~]# cd zabbix-5.2.6[root@localhost zabbix-5.2.6]# lsaclocal.m4 compile configure.ac INSTALL man sassAUTHORS conf COPYING install-sh misc srcbin config.guess database m4 missing uibuild config.sub depcomp Makefile.am NEWSChangeLog configure include Makefile.in README[root@localhost zabbix-5.2.6]# cd database/[root@localhost database]# lselasticsearch Makefile.in oracle sqlite3Makefile.am mysql postgresql[root@localhost database]# cd mysql/[root@localhost mysql]# lsdata.sql double.sql images.sql Makefile.am Makefile.in schema.sql[root@localhost mysql]# mysql -uzabbix -pzabbix123 zabbix < schema.sql mysql: [Warning] Using a password on the command line interface can be insecure.[root@localhost mysql]# mysql -uzabbix -pzabbix123 zabbix < images.sql mysql: [Warning] Using a password on the command line interface can be insecure.[root@localhost mysql]# mysql -uzabbix -pzabbix123 zabbix < data.sql mysql: [Warning] Using a password on the command line interface can be insecure.[root@localhost mysql]# mysql -uzabbix -pzabbix123 -e'show tables from zabbix'mysql: [Warning] Using a password on the command line interface can be insecure.+----------------------------+| Tables_in_zabbix |+----------------------------+| acknowledges || actions || alerts || application_discovery || application_prototype || application_template || applications || auditlog || auditlog_details || autoreg_host ||............... |+----------------------------+#就会看到以上数据
编译安装zabbix[root@localhost ~]# lsanaconda-ks.cfg apr-util-1.6.1 pass zabbix-5.2.6.tar.gzapr-1.7.0 httpd-2.4.43 zabbix-5.2.6[root@localhost ~]# cd zabbix-5.2.6[root@localhost zabbix-5.2.6]# [root@localhost zabbix-5.2.6]# ./configure --enable-server \> --enable-agent \> --with-mysql \> --with-net-snmp \> --with-libcurl \> --with-libxml2 [root@localhost zabbix-5.2.6]# make install
zabbix服务端配置[root@localhost zabbix-5.2.6]# cd /usr/local/etc/[root@localhost etc]# lszabbix_agentd.conf zabbix_server.confzabbix_agentd.conf.d zabbix_server.conf.d#修改服务端配置文件,设置数据库信息[root@localhost etc]# vim zabbix_server.conf#找到118行设置zabbix数据库连接密码118 DBPassword=zabbix123
[root@localhost etc]# zabbix_server [root@localhost etc]# ss -antlState Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 128 0.0.0.0:10051 0.0.0.0:* LISTEN 0 128 0.0.0.0:9000 0.0.0.0:* LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 80 *:3306 *:* LISTEN 0 128 *:80 *:* LISTEN 0 128 [::]:22 [::]:* [root@localhost etc]# zabbix_agentd [root@localhost etc]# ss -antlState Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 128 0.0.0.0:10050 0.0.0.0:* LISTEN 0 128 0.0.0.0:10051 0.0.0.0:* LISTEN 0 128 0.0.0.0:9000 0.0.0.0:* LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 80 *:3306 *:* LISTEN 0 128 *:80 *:* LISTEN 0 128 [::]:22 [::]:*
zabbix服务端web界面安装与配置zabbix web界面安装前配置
修改/etc/php.ini的配置并重启php-fpm
[root@localhost zabbix-5.2.6]# sed -ri 's/(post_max_size =).*/\1 16M/g' /etc/php.ini[root@localhost zabbix-5.2.6]# sed -ri 's/(max_execution_time =).*/\1 300/g' /etc/php.ini[root@localhost zabbix-5.2.6]# sed -ri 's/(max_input_time =).*/\1 300/g' /etc/php.ini[root@localhost zabbix-5.2.6]# sed -i '/;date.timezone/a date.timezone = Asia/Shanghai' /etc/php.ini[root@localhost zabbix-5.2.6]# service php-fpm restartRedirecting to /bin/systemctl restart php-fpm.service[root@localhost apache]# cd /usr/local/apache/htdocs/[root@localhost htdocs]# lshzy index.html[root@localhost htdocs]# mv hzy zabbix[root@localhost htdocs]# lsindex.html zabbix[r��Ϧ,��Ϧoot@localhost htdocs]# cd zabbix/[root@localhost zabbix]# lsindex.php[root@localhost zabbix]# rm -f index.php[root@localhost zabbix]# lltotal 0#把安装目录里面的ui cp到/usr/local/apache/htdocs/zabbix/[root@localhost zabbix]# cd ~[root@localhost ~]# cd zabbix-5.2.6[root@localhost zabbix-5.2.6]# lsaclocal.m4 conf configure.ac install-sh misc uiAUTHORS config.guess COPYING m4 missingbin config.log database Makefile NEWSbuild config.status depcomp Makefile.am READMEChangeLog config.sub include Makefile.in sasscompile configure INSTALL man src[root@localhost zabbix-5.2.6]# ls uiactionconf.php host_discovery.php overview.phpapi_jsonrpc.php hostgroups.php queue.phpapp hostinventoriesoverview.php report2.phpassets hostinventories.php report4.phpaudio host_prototypes.php robots.txtauditacts.php hosts.php screenconf.phpbrowserwarning.php httpconf.php screenedit.phpchart2.php httpdetails.php screen.import.phpchart3.php image.php screens.phpchart4.php imgstore.php services.phpchart5.php include setup.phpchart6.php index_http.php slideconf.phpchart7.php index.php slides.phpchart.php index_sso.php srv_status.phpcomposer.json items.php sysmap.phpcomposer.lock js sysmaps.phpconf jsLoader.php templates.phpconf.import.php jsrpc.php toptriggers.phpcorrelation.php local tr_events.phpdiscoveryconf.php locale trigger_prototypes.phpdisc_prototypes.php maintenance.php triggers.phpfavicon.ico map.import.php vendorgraphs.php map.php zabbix.phphistory.php modules[root@localhost zabbix-5.2.6]# cp -r ui/* /usr/local/apache/htdocs/zabbix/[root@localhost zabbix-5.2.6]# ll /usr/local/apache/htdocs/zabbix/total 948-rw-r--r-- 1 root root 22808 May 13 18:43 actionconf.php-rw-r--r-- 1 root root 2350 May 13 18:43 api_jsonrpc.phpdrwxr-xr-x 5 root root 71 May 13 18:43 appdrwxr-xr-x 5 root root 44 May 13 18:43 assetsdrwxr-xr-x 2 root root 173 May 13 18:43 audio-rw-r--r-- 1 root root 5081 May 13 18:43 auditacts.php-rw-r--r-- 1 root root 1419 May 13 18:43 browserwarning.php-rw-r--r-- 1 root root 5095 May 13 18:43 chart2.php-rw-r--r-- 1 root root 6986 May 13 18:43 chart3.php-rw-r--r-- 1 root root 5593 May 13 18:43 chart4.php-rw-r--r-- 1 root root 5711 May 13 18:43 chart5.php-rw-r--r-- 1 root root 3596 May 13 18:43 chart6.php-rw-r--r-- 1 root root 3901 May 13 18:43 chart7.php-rw-r--r-- 1 root root 4505 May 13 18:43 chart.php-rw-r--r-- 1 root root 48 May 13 18:43 composer.json-rw-r--r-- 1 root root 8010 May 13 18:43 composer.lockdrwxr-xr-x 3 root root 94 May 13 18:43 conf-rw-r--r-- 1 root root 7330 May 13 18:43 conf.import.php-rw-r--r-- 1 root root 16645 May 13 18:43 correlation.php-rw-r--r-- 1 root root 13872 May 13 18:43 discoveryconf.php-rw-r--r-- 1 root root 57032 May 13 18:43 disc_prototypes.php-rw-r--r-- 1 root root 32988 May 13 18:43 favicon.ico-rw-r--r-- 1 root root 25580 May 13 18:43 graphs.php-rw-r--r-- 1 root root 4453 May 13 18:43 history.php-rw-r--r-- 1 root root 35772 May 13 18:43 host_discovery.php-rw-r--r-- 1 root root 9707 May 13 18:43 hostgroups.php-rw-r--r-- 1 root root 6445 May 13 18:43 hostinventoriesoverview.php-rw-r--r-- 1 root root 9291 May 13 18:43 hostinventories.php-rw-r--r-- 1 root root 22008 May 13 18:43 host_prototypes.php-rw-r--r-- 1 root root 51467 May 13 18:43 hosts.php-rw-r--r-- 1 root root 29471 May 13 18:43 httpconf.php-rw-r--r-- 1 root root 6514 May 13 18:43 httpdetails.php-rw-r--r-- 1 root root 1856 May 13 18:43 image.php-rw-r--r-- 1 root root 3576 May 13 18:43 imgstore.phpdrwxr-xr-x 4 root root 4096 May 13 18:43 include-rw-r--r-- 1 root root 3201 May 13 18:43 index_http.php-rw-r--r-- 1 root root 4136 May 13 18:43 index.php-rw-r--r-- 1 root root 8951 May 13 18:43 index_sso.php-rw-r--r-- 1 root root 78615 May 13 18:43 items.phpdrwxr-xr-x 5 root root 4096 May 13 18:43 js-rw-r--r-- 1 root root 16046 May 13 18:43 jsLoader.php-rw-r--r-- 1 root root 19490 May 13 18:43 jsrpc.phpdrwxr-xr-x 4 root root 60 May 13 18:43 localdrwxr-xr-x 35 root root 4096 May 13 18:43 locale-rw-r--r-- 1 root root 14295 May 13 18:43 maintenance.php-rw-r--r-- 1 root root 4188 May 13 18:43 map.import.php-rw-r--r-- 1 root root 2136 May 13 18:43 map.phpdrwxr-xr-x 2 root root 6 May 13 18:43 modules-rw-r--r-- 1 root root 10770 May 13 18:43 overview.php-rw-r--r-- 1 root root 8633 May 13 18:43 queue.php-rw-r--r-- 1 root root 18738 May 13 18:43 report2.php-rw-r--r-- 1 root root 7284 May 13 18:43 report4.php-rw-r--r-- 1 root root 974 May 13 18:43 robots.txt-rw-r--r-- 1 root root 11970 May 13 18:43 screenconf.php-rw-r--r-- 1 root root 10235 May 13 18:43 screenedit.php-rw-r--r-- 1 root root 4210 May 13 18:43 screen.import.php-rw-r--r-- 1 root root 4943 May 13 18:43 screens.php-rw-r--r-- 1 root root 12254 May 13 18:43 services.php-rw-r--r-- 1 root root 7052 May 13 18:43 setup.php-rw-r--r-- 1 root root 13338 May 13 18:43 slideconf.php-rw-r--r-- 1 root root 6663 May 13 18:43 slides.php-rw-r--r-- 1 root root 5419 May 13 18:43 srv_status.php-rw-r--r-- 1 root root 9870 May 13 18:43 sysmap.php-rw-r--r-- 1 root root 16711 May 13 18:43 sysmaps.php-rw-r--r-- 1 root root 35618 May 13 18:43 templates.php-rw-r--r-- 1 root root 6341 May 13 18:43 toptriggers.php-rw-r--r-- 1 root root 6931 May 13 18:43 tr_events.php-rw-r--r-- 1 root root 26508 May 13 18:43 trigger_prototypes.php-rw-r--r-- 1 root root 38231 May 13 18:43 triggers.phpdrwxr-xr-x 7 root root 102 May 13 18:43 vendor-rw-r--r-- 1 root root 842 May 13 18:43 zabbix.php
修改属主属组[root@localhost zabbix-5.2.6]# chown -R apache.apache /usr/local/apache/htdocs/
配置apache虚拟主机[root@localhost zabbix-5.2.6]# vim /etc/httpd24/extra/vhosts.conf#修改如下<VirtualHost *:80> DocumentRoot "/usr/local/apache/htdocs/zabbix" ServerName www.hzy.com ProxyRequests Off ProxyPassMatch ^/(.*\.php)$ fcgi://0.0.0.0:9000/usr/local/apache/htdocs/zabbix/$1 <Directory "/usr/local/apache/htdocs/zabbix"> Options none AllowOverride none Require all granted </Directory></VirtualHost>[root@localhost zabbix-5.2.6]# apachectl restart[root@localhost zabbix-5.2.6]# ss -antlState Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 128 0.0.0.0:10050 0.0.0.0:* LISTEN 0 128 0.0.0.0:10051 0.0.0.0:* LISTEN 0 128 0.0.0.0:9000 0.0.0.0:* LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 80 *:3306 *:* LISTEN 0 128 *:80 *:* LISTEN 0 128 [::]:22 [::]:*
设置zabbix/conf目录的权限,让zabbix有权限生成配置文件zabbix.conf.php[root@localhost zabbix-5.2.6]# chmod 777 /usr/local/apache/htdocs/zabbix/conf[root@localhost zabbix-5.2.6]# ll -d /usr/local/apache/htdocs/zabbix/confdrwxrwxrwx 3 apache apache 94 May 13 18:43 /usr/local/apache/htdocs/zabbix/conf
数据库授权zabbix用户使用本地IP地址登录
[root@localhost zabbix-5.2.6]# mysql -uroot -pbwxhmysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 73Server version: 5.7.33 MySQL Community Server (GPL)Copyright (c) 2000, 2021, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> grant all on *.* to zabbix@'192.168.207.128' identified by 'zabbix123';Query OK, 0 rows affected, 1 warning (0.00 sec)[root@localhost zabbix-5.2.6]# apachectl restart
安装zabbix web界面恢复zabbix/conf目录的权限为755:[root@localhost zabbix-5.2.6]# chmod 755 /usr/local/apache/htdocs/zabbix/conf[root@localhost zabbix-5.2.6]# ll -d /usr/local/apache/htdocs/zabbix/confdrwxr-xr-x 3 apache apache 117 May 13 19:05 /usr/local/apache/htdocs/zabbix/conf
登录zabbixzabbix默认登录用户名和密码:
用户名: Admin
密码:zabbix