分布式监控解决方案zabbix01-介绍及安装

一。 zabbix简介

   Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持。
Zabbix 是一个企业级的分布式开源监控方案。
Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。这些功能使得Zabbix成为容量规划的理想方案
Zabbix支持主动轮询和被动捕获。Zabbix所有的报告、统计信息和配置参数都可以通过基于Web的前端页面进行访问。基于Web的前端页面可以确保您从任何方面评估您的网络状态和服务器的健康性。适当的配置后,Zabbix可以在IT基础架构监控方面扮演重要的角色。对于只有少量服务器的小型组织和拥有大量服务器的大型公司也同样如此。
Zabbix是免费的。Zabbix是根据GPL通用公共许可证第2版编写和发行的。这意味着它的源代码都是免费发行的,可供公众任意使用。

Zabbix由几个主要的软件组件构成,这些组件的功能如下。

  • .Server
Zabbix server 是监控代理程序报告系统可用性、系统完成整性和统计信息的核心组件。Zabbix Server是所有配置信息、统计信息和操作数据的核心存储器。
.数据库存储
所有配置信息和Zabbix收集到的数据都被存储在数据库中。
  • .Web界面
为了从任何地方和任何平台都轻松的访问Zabbix,Zabbix提供了基于Web的界面。该界面是Zabbix Server的一部分,通常(但不一定)跟Zabbix Server运行在同一台物理机器上。
如果使用SQLite,Zabbix Web界面必须要跟Zabbix Server运行在同一台物理机器上。
  • Proxy代理服务器
.Zabbix proxy 可以替Zabbix Server收集性能和可用性数据。Proxy代理服务器是Zabbix软件可选择部署的一部分;当然,Proxy代理服务器可以帮助单台Zabbix Server分担负载压力。
  • .Agent监控代理
Zabbix agents监控代理 部署在监控目标上,能够主动监控本地资源和应用程序,并将收集到的数据报告给Zabbix Server。
  • .数据流
此外,了解Zabbix内部的数据流同样很重要。为了创建一个监控项用于采集数据,必须先创建一个主机。转换到Zabbix功能的其他部分,你必须先有一个监控项来创建触发器,你必须有一个触发器来创建动作。 因此,如果你想收到X服务器CPU负载过高的告警,你必须先为X服务器创建一个主机实体并关联一个用于对CPU进行监控的监控项,然后如果CPU负载太高便会激活触发器,接着会执行一个动作,给你发送告警邮件。虽然看起来有很多步骤,但是使用模板的话可以会很简单。同时,这个设计可以创建一个非常灵活的配置。

二 。zabbix安装

  安装环境 centos7  zabbix3.4 参考文档 (https://www.zabbix.com/documentation/3.4/zh/manual/installation/install_from_packages)
使用yum环境安装 
 1》添加zabbix的yum源 (http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/下的 zabbix-release-3.4-1.el7.centos.noarch.rpm ) 安装

[root@bogon ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
Retrieving http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:zabbix-release-3.4-1.el7.centos  ################################# [100%]
[root@bogon ~]# rpm -ql zabbix-release-3.4-1.el7.centos.noarch.rpm
package zabbix-release-3.4-1.el7.centos.noarch.rpm is not installed
[root@bogon ~]# rpm -ql zabbix-release
/etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
/etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
/etc/yum.repos.d/zabbix.repo
/usr/share/doc/zabbix-release-3.4
/usr/share/doc/zabbix-release-3.4/GPL

  2》安装zabbix

 安装 zabbix-server和前端web界面

yum install -y zabbix-server-mysql zabbix-web-mysql
 如果某台机器需要被监控需要安装 zabbix-agent 安装过程:

yum install -y zabbix-agent
查看安装包:
[root@bogon ~]# rpm -qa | grep zabbix
zabbix-release-3.4-1.el7.centos.noarch
zabbix-web-mysql-3.4.4-2.el7.noarch
zabbix-web-3.4.4-2.el7.noarch  是php的一些程序页面
zabbix-server-mysql-3.4.4-2.el7.x86_64
查看安装文件
[root@bogon ~]# rpm -ql zabbix-server-mysql-3.4.4-2.el7.x86_64
/etc/logrotate.d/zabbix-server  使用了日志轮询日志文件在 /var/log/zabbix/zabbix_server.log
/etc/zabbix/zabbix_server.conf  这是配置文件
/usr/lib/systemd/system/zabbix-server.service
/usr/lib/tmpfiles.d/zabbix-server.conf
/usr/lib/zabbix/alertscripts
/usr/lib/zabbix/externalscripts
/usr/sbin/zabbix_server_mysql
/usr/share/doc/zabbix-server-mysql-3.4.4
/usr/share/doc/zabbix-server-mysql-3.4.4/AUTHORS
/usr/share/doc/zabbix-server-mysql-3.4.4/COPYING
/usr/share/doc/zabbix-server-mysql-3.4.4/ChangeLog
/usr/share/doc/zabbix-server-mysql-3.4.4/NEWS
/usr/share/doc/zabbix-server-mysql-3.4.4/README
/usr/share/doc/zabbix-server-mysql-3.4.4/create.sql.gz
/usr/share/man/man8/zabbix_server.8.gz
/var/log/zabbix
/var/run/zabbix
zabbix使用mysql存储监控数据 必须初始化mysql的数据库信息
安装mysql 
yum -y install mariadb-server
启动mysql测试是否成功登录(默认mariadb数据库用户名和密码均是root)
[root@bogon ~]# service mariadb start
Redirecting to /bin/systemctl start  mariadb.service
[root@bogon ~]# mysql -uroot -proot
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.56-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.02 sec)
创建zabbix需要的数据库和表结构  参考(https://www.zabbix.com/documentation/3.4/manual/appendix/install/db_scripts)

默认脚本位于源码包 /database目录下 下载源码包(https://www.zabbix.com/download) 传入linux后解压

[root@bogon database]# tar zxvf zabbix-3.4.4.tar.gz 
[root@bogon zabbix-3.4.4]# cd database
[root@bogon database]# ll
total 20
drwxr-xr-x 2 a a    55 Nov  9 02:37 ibm_db2
-rw-r--r-- 1 a a   392 Nov  9 02:37 Makefile.am
-rw-r--r-- 1 a a 14974 Nov  9 02:37 Makefile.in
drwxr-xr-x 2 a a    55 Nov  9 02:37 mysql
drwxr-xr-x 2 a a    55 Nov  9 02:37 oracle
drwxr-xr-x 2 a a    55 Nov  9 02:37 postgresql
drwxr-xr-x 2 a a    55 Nov  9 02:37 sqlite3
这个目录可以看到zabbix支持的数据库 我们这里使用mysql 进入mysql目录
[root@bogon mysql]# ll
total 4860
-rw-r--r-- 1 a a 2861223 Nov  9 02:37 data.sql
-rw-r--r-- 1 a a 1978341 Nov  9 02:37 images.sql
-rw-r--r-- 1 a a  134738 Nov  9 02:37 schema.sql
创建一个mysql账号用于zabbix程序 同时创建zabbix数据库
[root@bogon mysql]# mysql -uroot -proot
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.56-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>  create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';    
Query OK, 0 rows affected (0.00 sec)
依次导入三个脚本到zabbix数据库
[root@bogon mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql          
[root@bogon mysql]# mysql -uzabbix -pzabbix zabbix < images.sql          
[root@bogon mysql]# mysql -uzabbix -pzabbix zabbix < data.sql  
如果不想下载源码包 安装包里也有这个脚本名字是create.sql 包含了这三个脚本的sql语句 前提是用户和数据库必须提前创建好
 /usr/share/doc/zabbix-server-mysql-3.4.4
 zcat create.sql.gz | mysql -uroot -proot zabbix
修改zabbitserver配置文件 配置好数据库信息 (/etc/zabbix/ zabbix_server.conf
# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
启动zabbitserver
[root@bogon zabbix]# systemctl start zabbix-server
[root@bogon zabbix]# systemctl status zabbix-server
● zabbix-server.service - Zabbix Server
   Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2017-11-28 19:54:31 PST; 5s ago
  Process: 3262 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
 Main PID: 3264 (zabbix_server)
   CGroup: /system.slice/zabbix-server.service
           ├─3264 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
           ├─3269 /usr/sbin/zabbix_server: configuration syncer [waiting 60 sec for processes]
           ├─3270 /usr/sbin/zabbix_server: alerter #1 started
           ├─3271 /usr/sbin/zabbix_server: alerter #2 started
           ├─3272 /usr/sbin/zabbix_server: alerter #3 started
           ├─3273 /usr/sbin/zabbix_server: housekeeper [startup idle for 30 minutes]
           ├─3274 /usr/sbin/zabbix_server: timer #1 [processed 0 triggers, 0 events in 0.000000 sec, 0 maintenances in 0.000000 sec, idle 29 sec]
           ├─3275 /usr/sbin/zabbix_server: http poller #1 [got 0 values in 0.002017 sec, idle 5 sec]
           ├─3276 /usr/sbin/zabbix_server: discoverer #1 [processed 0 rules in 0.001625 sec, idle 60 sec]
           ├─3277 /usr/sbin/zabbix_server: history syncer #1 [synced 0 items in 0.000002 sec, idle 1 sec]
           ├─3278 /usr/sbin/zabbix_server: history syncer #2 [synced 0 items in 0.000001 sec, idle 1 sec]
           ├─3279 /usr/sbin/zabbix_server: history syncer #3 [synced 0 items in 0.000002 sec, idle 1 sec]
           ├─3280 /usr/sbin/zabbix_server: history syncer #4 [synced 0 items in 0.000002 sec, idle 1 sec]
           ├─3281 /usr/sbin/zabbix_server: escalator #1 [processed 0 escalations in 0.002437 sec, idle 3 sec]
           ├─3282 /usr/sbin/zabbix_server: proxy poller #1 [exchanged data with 0 proxies in 0.000005 sec, idle 5 sec]
           ├─3283 /usr/sbin/zabbix_server: self-monitoring [processed data in 0.000012 sec, idle 1 sec]
           ├─3291 /usr/sbin/zabbix_server: task manager [processed 0 task(s) in 0.002634 sec, idle 5 sec]
           ├─3294 /usr/sbin/zabbix_server: poller #1 [got 0 values in 0.000652 sec, idle 5 sec]
           ├─3295 /usr/sbin/zabbix_server: poller #2 [got 0 values in 0.000269 sec, idle 5 sec]
           ├─3296 /usr/sbin/zabbix_server: poller #3 [got 0 values in 0.000196 sec, idle 5 sec]
           ├─3297 /usr/sbin/zabbix_server: poller #4 [got 0 values in 0.001178 sec, idle 5 sec]
           ├─3298 /usr/sbin/zabbix_server: poller #5 [got 0 values in 0.000204 sec, idle 5 sec]
           ├─3299 /usr/sbin/zabbix_server: unreachable poller #1 [got 0 values in 0.000200 sec, idle 5 sec]
           ├─3300 /usr/sbin/zabbix_server: trapper #1 [processed data in 0.000000 sec, waiting for connection]
           ├─3301 /usr/sbin/zabbix_server: trapper #2 [processed data in 0.000000 sec, waiting for connection]
           ├─3302 /usr/sbin/zabbix_server: trapper #3 [processed data in 0.000000 sec, waiting for connection]
           ├─3305 /usr/sbin/zabbix_server: trapper #4 [processed data in 0.000000 sec, waiting for connection]
           ├─3306 /usr/sbin/zabbix_server: trapper #5 [processed data in 0.000000 sec, waiting for connection]
           ├─3310 /usr/sbin/zabbix_server: icmp pinger #1 [got 0 values in 0.000316 sec, idle 5 sec]
           ├─3311 /usr/sbin/zabbix_server: alert manager #1 started
           ├─3315 /usr/sbin/zabbix_server: preprocessing manager #1 started
           ├─3316 /usr/sbin/zabbix_server: preprocessing worker #1 started
           ├─3320 /usr/sbin/zabbix_server: preprocessing worker #2 started
           └─3321 /usr/sbin/zabbix_server: preprocessing worker #3 started

Nov 28 19:54:31 bogon systemd[1]: Starting Zabbix Server...
Nov 28 19:54:31 bogon systemd[1]: PID file /run/zabbix/zabbix_server.pid not readable (yet?) after start.
Nov 28 19:54:31 bogon systemd[1]: Started Zabbix Server.
启动前端界面 (zabbix-web自动安装httpd和php服务 只需要启动httd即可访问zabbix)
systemctl start httpd
访问 http://192.168.58.152/zabbix 一般提示浏览器过期 跳过就行 到第二步骤

说php没有设置timezone
查看系统当前时区(Ameria 时区不对时间会出错)
[root@bogon local]# timedatectl
      Local time: Tue 2017-11-28 20:03:02 PST
  Universal time: Wed 2017-11-29 04:03:02 UTC
        RTC time: Wed 2017-11-29 04:03:02
       Time zone: America/Los_Angeles (PST, -0800)
查看系统已经安装的时区(有亚洲)
[root@bogon local]# tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
 1) Africa
 2) Americas
 3) Antarctica
 4) Arctic Ocean
 5) Asia
 6) Atlantic Ocean
 7) Australia
 8) Europe
 9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.
设置成 亚洲/上海时区
[root@bogon local]# timedatectl set-timezone Asia/Shanghai
安装ntpdate同步时间
[root@bogon local]# yum -y install ntpdate
[root@bogon local]# ntpdate time1.aliyun.com
29 Nov 12:28:21 ntpdate[4623]: adjust time server 115.28.122.198 offset -0.018276 sec
Zabbix前端的Apache配置文件位于 /etc/httpd/conf.d/zabbix.conf 
 <IfModule mod_php5.c>
        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value always_populate_raw_post_data -1
        # php_value date.timezone Europe/Riga
    </IfModule>
最后一个#注释打开 修改为  
 php_value date.timezone Asia/Shanghai
修改后重启 httpd服务 
service httpd restart
按照界面安装步骤 再次设置mysql的一些信息 完成后 进入主页面 默认登录用户名和密码是(Admin/zabbix)

设置简体中文环境 
点击右上角 人形图标 进入设置界面 点击选择Chinese(zh_CN)即可























  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值