zabbix
是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix
能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix
由2部分构成,zabbix server
服务端与可选组件zabbix agent
客户端(被监控的主机装,负责收集汇报)。
zabbix server
可以通过SNMP
(路由器交换机的协议),zabbix agent
,ping
,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux(红帽,centos),Ubuntu,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X(max系统)等平台上。
zabbix agent
需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。
zabbix server
可以单独监视远程服务器的服务状态;也可以与zabbix agent
配合,可以轮询zabbix agent
主动接收监视数据(agent方式),还可被动接收zabbix agent
发送的数据(trapping方式)。
另外zabbix server
还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。
主动方式和被动方式
环境 | IP | 要安装的应用 |
---|---|---|
服务器 | 192.168.232.132 | lamp架构 zabbix server zabbix agent |
[root@SYL4 ~]# wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.25.tar.gz
[root@SYL4 ~]# useradd -r -M -s /sbin/nologin zabbix
[root@SYL4 ~]# tar xf zabbix-5.0.25.tar.gz
[root@SYL4 ~]#
[root@SYL4 ~]# mkdir -p /usr/lib/zabbix
[root@SYL4 ~]# chown -R zabbix.zabbix /usr/lib/zabbix
[root@SYL4 ~]# chmod 770 /usr/lib/zabbix
mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.09 sec)
mysql> create user 'zabbix'@'localhost' identified by 'zabbix';
Query OK, 0 rows affected (0.09 sec)
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql>
[root@SYL4 mysql]# pwd
/root/zabbix-5.0.25/database/mysql
[root@SYL4 mysql]# ls
Makefile.am data.sql images.sql
Makefile.in double.sql schema.sql
[root@SYL4 mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@SYL4 mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@SYL4 mysql]# mysql -uzabbix -pzabbix zabbix < data.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@SYL4 mysql]#
[root@SYL4 ~]# yum -y install net-snmp-devel
[root@SYL4 ~]# yum install libevent-devel -y
[root@SYL4 ~]# cd zabbix-5.0.25
[root@SYL4 zabbix-5.0.25]# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
[root@SYL4 zabbix-5.0.25]# make install
[root@SYL4 zabbix-5.0.25]# cd /usr/local/etc/
[root@SYL4 etc]# ls
zabbix_agentd.conf zabbix_server.conf
zabbix_agentd.conf.d zabbix_server.conf.d
[root@SYL4 etc]# vim zabbix_server.conf
[root@SYL4 etc]# cat zabbix_server.conf|grep DBPassword=zabbix
DBPassword=zabbix
[root@SYL4 etc]#
[root@SYL4 ~]# zabbix_server
[root@SYL4 ~]# zabbix_agentd
[root@SYL4 ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
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 127.0.0.1:9000 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 80 *:3306 *:*
LISTEN 0 128 *:80 *:*
[root@SYL4 ~]#
[root@SYL4 ~]# sed -ri 's/(post_max_size =).*/\1 16M/g' /etc/php.ini
[root@SYL4 ~]# sed -ri 's/(max_execution_time =).*/\1 300/g' /etc/php.ini
[root@SYL4 ~]# sed -ri 's/(max_input_time =).*/\1 300/g' /etc/php.ini
[root@SYL4 ~]# sed -i '/;date.timezone/a date.timezone = Asia/Shanghai' /etc/php.ini
[root@SYL4 ~]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
[root@SYL4 ~]#
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai
[root@SYL4 ~]# cat /etc/php.ini|grep post_max_size
post_max_size = 16M
[root@SYL4 ~]# cat /etc/php.ini|grep max_execution_time
max_execution_time = 300
[root@SYL4 ~]# cat /etc/php.ini|grep max_input_time
; max_input_time
max_input_time = 300
[root@SYL4 ~]# cat /etc/php.ini|grep date.timezone
; http://php.net/date.timezone
;date.timezone =
date.timezone = Asia/Shanghai
[root@SYL4 ~]#
传入zabbix网页
[root@SYL4 ~]# cd zabbix-5.0.25
[root@SYL4 zabbix-5.0.25]# ls
AUTHORS NEWS config.guess depcomp sass
COPYING README config.log include src
ChangeLog aclocal.m4 config.status install-sh ui
INSTALL bin config.sub m4
Makefile build configure man
Makefile.am compile configure.ac misc
Makefile.in conf database missing
[root@SYL4 zabbix-5.0.25]# cp -a ui/* /usr/local/apache/htdocs/
[root@SYL4 zabbix-5.0.25]#
[root@SYL4 ~]# cd /usr/local/apache/htdocs/
[root@SYL4 htdocs]# rm -rf *
[root@SYL4 htdocs]# ls
actionconf.php index_http.php
api_jsonrpc.php index_sso.php
app items.php
applications.php js
assets jsLoader.php
audio jsrpc.php
auditacts.php local
browserwarning.php locale
chart.php maintenance.php
chart2.php map.import.php
chart3.php map.php
chart4.php modules
chart5.php overview.php
chart6.php queue.php
chart7.php report2.php
conf report4.php
conf.import.php robots.txt
correlation.php screen.import.php
disc_prototypes.php screenconf.php
discoveryconf.php screenedit.php
favicon.ico screens.php
graphs.php services.php
history.php setup.php
host_discovery.php slideconf.php
host_prototypes.php slides.php
host_screen.php srv_status.php
hostgroups.php sysmap.php
hostinventories.php sysmaps.php
hostinventoriesoverview.php templates.php
hosts.php toptriggers.php
httpconf.php tr_events.php
httpdetails.php trigger_prototypes.php
image.php triggers.php
imgstore.php vendor
include zabbix.php
index.php
[root@SYL4 htdocs]#
[root@SYL4 ~]# cd /usr/local/apache/htdocs
[root@SYL4 htdocs]# chmod 777 conf
[root@SYL4 htdocs]# ll -d conf
drwxrwxrwx 3 1000 1000 117 Jul 6 22:03 conf
[root@SYL4 htdocs]# chmod 775 conf
[root@SYL4 htdocs]# ll -d conf
drwxrwxr-x 3 1000 1000 117 Jul 6 22:03 conf
[root@SYL4 htdocs]# ll conf
total 12
drwxr-xr-x 2 1000 1000 6 Jun 27 15:42 certs
-rw-r--r-- 1 1000 1000 1036 Jun 20 16:59 maintenance.inc.php
-rw------- 1 nobody nobody 1479 Jul 6 22:03 zabbix.conf.php
-rw-r--r-- 1 1000 1000 1470 Jun 27 15:41 zabbix.conf.php.example
[root@SYL4 htdocs]#
Host availability 主机的可用性
Available 可用
Not available 不可用
Unknown 未知的
Total 总计
Problems by severity 问题的严重性
Disaster 灾难
High 高
Average 平均
Warning 警告
Information 信息
Not classified 没有分类
System information 系统信息
Parameter 参数
Value 价值
Details 细节
Zabbix server is running Zabbix服务器正在运行
Number of hosts (enabled/disabled) 主机数量(启用/禁用)
Number of templates 数量的模板
Number of items (enabled/disabled/notsupported) 项目数量(启用/禁用/不支持)
Number of triggers (enabled/disabled [problem/ok]) 触发器数量(启用/禁用[问题/确定])
Number of users (online) 用户数量(在线)
Required server performance, new values per second 所需的服务器性能,每秒新值
参数 | 作用 |
---|---|
LogFile | 设置服务端日志文件存放路径 |
ListenIP | 设置服务端监听IP |
ListenPort | 设置服务端监听的端口号 |
PidFile | 设置服务端进程号文件存放路径 |
DBHost | 指定zabbix的数据库服务器IP |
DBName | 指定zabbix使用的数据库库名 |
DBUser | 指定zabbix数据库登录用户 |
DBPassword | 指定zabbix数据库登录密码 |
DBPort | 指定zabbix数据库端口号 |
User | 设置zabbix以什么用户的身份运行 |
AlertScriptsPath | 设置告警脚本存放路径 |
ExternalScripts | 外部脚本存放路径 |
参数 | 作用 |
---|---|
Server | 指定zabbix服务器的IP或域名 |
ServerActive | 指定zabbix服务器的IP或域名 |
Hostname//唯一标识符,可用ip,域名等 | 指定本机的主机名,此项必须与web界面配置项一致 |
UnsafeUserParameters | 是否启用自定义监控项,可选值为{1 | 0} |
UserParameter | 指定自定义监控脚本参数 |
LogFile | 设置客户端日志文件存放路径 |
configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config
错误:无效的Net-SNMP目录-无法找到Net-SNMP -config
[root@SYL4 ~]# yum -y install net-snmp-devel
configure: error: Unable to use libevent (libevent check failed)
错误:无法使用libevent (libevent检查失败)
[root@SYL4 ~]# yum install libevent-devel -y