目录

  • LINUX常见监控平台
  • Zabbix组件结构
  • Zabbix_Server
  • 数据库存储
  • Web界面
  • Zabbix_Proxy(可选)
  • Zabbix_Agent
  • Zabbix主要功能
  • Zabbix部署
  • Zabbix 监控项配置

LINUX常见监控平台

  • 流行的开源监控软件有:Cacti、Nagios、Zabbix、smokeping、open-falcon等等
  • Cacti更擅长监控网络流量。
  • Zabbix可以存储数据方便地画图,并且支持查询历史数据和自定义监控项
  • open-falcon为小米公司开发,开源后受到诸多大公司和运维工程师的追捧

Zabbix组件结构

Zabbix_Server

整个监控体系中最核心的组件,它负责接收客户端发送的报告信息,所有配置、统计数据及操作数据都由它组织。

数据库存储

所有配置信息和Zabbix收集到的数据都被存储在数据库中

Web界面

为了从任何地方和任何平台都可以轻松的访问Zabbix, 我们提供基于Web的Zabbix界面。该界面是Zabbix Server的一部分,通常跟Zabbix Server运行在同一台物理机器上

Zabbix_Proxy(可选)

用于监控节点非常多的分布式环境中,它可以代理zabbix-server的功能,减轻zabbix-server的压力。

Zabbix_Agent

zabbix-agent为客户端软件,用于采集各监控项目的数据,并把采集的数据传输给zabbix-proxy或zabbix-server。

Zabbix主要功能

  • 监控系统
  • 内存使用率
  • CPU使用率
  • 磁盘使用率
  • 监控文件修改
  • 网络监控
  • 流量
  • 路由器
  • 交换机
  • 防火墙
  • 业务监控
  • 进程
  • 日志
  • 硬件监控
  • 电源
  • 温度

Zabbix部署

  1. 下载安装Zabbix
[root@localhost src]# wget https://cdn.zabbix.com/zabbix/sources/stable/5.2/zabbix-5.2.0.tar.gz

[root@localhost src]# ls
debug  kernels  zabbix-5.2.0.tar.gz
[root@localhost src]# tar -xf zabbix-5.2.0.tar.gz
[root@localhost src]# ls
debug  kernels  zabbix-5.2.0  zabbix-5.2.0.tar.gz

# 创建系统用户
[root@localhost src]# useradd -r -M -s /sbin/nologin zabbix
[root@localhost src]# id zabbix
uid=992(zabbix) gid=990(zabbix) groups=990(zabbix)
  1. Zabbix数据库配置
# 进入mysql

[root@localhost ~]# mysql -uroot -p'123456'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g
......
mysql> 

# 创建zabbix数据库
mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| zabbix             |
+--------------------+
5 rows in set (0.13 sec)

# 创建并附加权限
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by '123456';
Query OK, 0 rows affected, 2 warnings (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

# 查看zabbix包内的mysqk数据库文件
[root@localhost zabbix-5.2.0]# cd database/mysql/
[root@localhost mysql]# ls
data.sql  double.sql  images.sql  Makefile.am  Makefile.in  schema.sql

# 导入zabbix包内的数据到zabbix数据库内
[root@localhost mysql]# mysql -uzabbix -p zabbix < schema.sql 
Enter password: 
[root@localhost mysql]# mysql -uzabbix -p zabbix < images.sql
Enter password: 
[root@localhost mysql]# mysql -uzabbix -p zabbix < data.sql 
Enter password:

# 验证zabbix表内是否有数据

mysql> use zabbix;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
Tables_in_zabbix           |
+----------------------------+
| acknowledges               |
| actions                    |
| alerts                     |
| application_discovery      |
| application_prototype      |
| application_template       |
| applications    
......
| valuemaps                  |
| widget                     |
| widget_field               |
+----------------------------+
170 rows in set (0.00 sec)

3.编译安装zabbix

[root@localhost zabbix-5.2.0]# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp  --with-libcurl --with-libxml2
 
 # 注意:依赖包有:net-snmp-devel,libevent-devel
 
 ......
  LDAP support:          no
  IPv6 support:          no

***********************************************************
*            Now run 'make install'                       *
*                                                         *
*            Thank you for using Zabbix!                  *
*              <http://www.zabbix.com>                    *
***********************************************************

# 进行编译安装
[root@localhost zabbix-5.2.0]# make install
......
  1. 部署zabbix server端
[root@localhost /]# cd usr/local/etc/
[root@localhost etc]# ls
zabbix_agentd.conf  zabbix_agentd.conf.d  zabbix_server.conf  zabbix_server.conf.d

# 修改服务端配置文件,设置zabbix数据库连接密码。
......
DBUser=zabbix

### Option: DBPassword
#       Database password.
#       Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=123456    # 设置数据库连接密码
......
  1. 启动zabbix_server 和 zabbix_agentd
[root@localhost etc]# zabbix_server
[root@localhost etc]# zabbix_agentd
[root@localhost etc]# ss -antl
State       Recv-Q       Send-Q               Local Address:Port                Peer Address:Port       
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                              *:80                             *:*          
LISTEN      0            128                           [::]:22                          [::]:*          
LISTEN      0            80                               *:3306                           *:*

6.web界面的安装与配置

# 修改/etc/php.ini参数已方便后续web页的安装

[root@localhost etc]# vim /etc/php.ini
.......
post_max_size = 16
......
......
max_execution_time = 300
......
max_input_time = 300
......
......
;date.timezone = Asia/Shanghai
......

# 修改完成之后重启服务
[root@localhost etc]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm  done

# 将zabbix包内的网页前端文件导入到虚拟主机的配置文件中
[root@localhost htdocs]# mkdir zabbix
[root@localhost htdocs]# ls
index.html  zabbix
[root@localhost zabbix-5.2.0]# cp -a ui/* /usr/local/httpd/htdocs/zabbix/
# 为htdocs更改所属组与所属用户
[root@localhost zabbix-5.2.0]# chown -R apache.apache /usr/local/httpd/htdocs

# 配置虚拟主机
[root@localhost zabbix-5.2.0]# vim /etc/httpd24/extra/httpd-vhosts.conf 
<VirtualHost *:80>
    DocumentRoot "/usr/local/httpd/htdocs/zabbix"
    ServerName www.sawyer.com
    ProxyRequests Off
    ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/httpd/htdocs/zabbix/$1
    <Directory "/usr/local/httpd/htdocs/zabbix">
        Options none
        AllowOverride none
        Require all granted
    </Directory>
</VirtualHost>

# 暂时为zabbix开放web配置文件的权限
[root@localhost zabbix-5.2.0]# chmod 777 /usr/local/httpd/htdocs/zabbix/conf
[root@localhost zabbix-5.2.0]# ll -d /usr/local/httpd/htdocs/zabbix/conf
drwxrwxrwx 3 apache apache 94 Oct 26 23:44 /usr/local/httpd/htdocs/zabbix/conf

# 重启apache服务
[root@localhost zabbix-5.2.0]# apachectl restart

7.web初始化流程

Zabbix 免费吗 zabbix软件_Zabbix 免费吗


Zabbix 免费吗 zabbix软件_mysql_02


Zabbix 免费吗 zabbix软件_Zabbix 免费吗_03


Zabbix 免费吗 zabbix软件_sql_04


Zabbix web页面默认登录账号为Admin ,密码为zabbix

Zabbix 免费吗 zabbix软件_Zabbix 免费吗_05


Zabbix 免费吗 zabbix软件_apache_06

# 配置完成后记得修改/htdocs/zabbix/conf文件的权限
[root@localhost zabbix-5.2.0]# chmod 755 /usr/local/httpd/htdocs/zabbix/conf
[root@localhost zabbix-5.2.0]# ll -d /usr/local/httpd/htdocs/zabbix/conf
drwxr-xr-x 3 apache apache 117 Nov  3 15:05 /usr/local/httpd/htdocs/zabbix/conf

Zabbix 监控项配置

客户端IP

客户端环境

192.168.197.133

zabbix_agent

1.配置客户机的zabbix客户端环境

# 安装依赖包
[root@localhost zabbix-5.2.0]# yum -y install pcre-devel
#创建系统用户
[root@localhost zabbix-5.2.0]# useradd -M -r -s /sbin/nologin zabbix

# 编译zabbix,客户机只用编译agent
[root@localhost zabbix-5.2.0]# ./configure --enable-agent
......
 LDAP support:          no
  IPv6 support:          no

***********************************************************
*            Now run 'make install'                       *
*                                                         *
*            Thank you for using Zabbix!                  *
*              <http://www.zabbix.com>                    *
***********************************************************
[root@localhost zabbix-5.2.0]# make install
......

2.配置agent配置文件

[root@localhost etc]# vim /usr/local/etc/zabbix_agentd.conf
......
# Server=

Server=192.168.197.138  # 配置zabbix_server IP地址
......

# ServerActive=

ServerActive=192.168.197.138   # 配置zabbix_server IP地址
......


# Hostname=

Hostname=zabbix_test   # 配置Hostname,此名字对应web页新增host名字
......

# 开启服务
[root@localhost etc]# zabbix_agentd 
[root@localhost etc]# ss -antl
State       Recv-Q       Send-Q               Local Address:Port                Peer Address:Port       
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                           [::]:22                          [::]:*
  1. web页新建hosts_group

Zabbix 免费吗 zabbix软件_mysql_07

4.新建host

Zabbix 免费吗 zabbix软件_apache_08

5.新建host后,新建item(监控项)

Zabbix 免费吗 zabbix软件_sql_09


Zabbix 免费吗 zabbix软件_sql_10


Zabbix 免费吗 zabbix软件_Zabbix 免费吗_11

6.新建item后查看Lastest data(如果有value,说明已经成功监控)

Zabbix 免费吗 zabbix软件_sql_12

7.新建trigger(触发器)

Zabbix 免费吗 zabbix软件_Zabbix 免费吗_13

Zabbix 免费吗 zabbix软件_Zabbix 免费吗_14

Zabbix 免费吗 zabbix软件_sql_15

7.修改被监控的文件内容,测试zabbix监控效果

[root@localhost etc]# echo '你好' >> test.conf 
[root@localhost etc]# cat test.conf 
你好

Zabbix 免费吗 zabbix软件_mysql_16

Zabbix 免费吗 zabbix软件_Zabbix 免费吗_17