zabbix服务介绍与安装

Zabbix监控平台概念剖析

学习Linux技术,后期从事Linux运维岗位,作为运维人员最主要的工作职责之一:保障企业服务器、门户网站(展示企业主要的产品信息)、业务系统、数据库等高效、稳定的运行,一旦有故障和异常,能够第一时间去解决和处理。

作为运维人员是如何第一时间得知企业服务器、门户网站(展示企业主要的产品信息)、业务系统、数据库的运行状态?可以通过人工7x24去刷新和访问,也可以借助开源监控软件7x24x365实时监控其运行状态,一旦有故障能够第一时间发送报警信息给SA(System Aministrator),SA能够快速解决问题。

在互联网IT企业中,目前主流的开源监控软件有哪些?

MRTG;

Nagios;

Cacti;

Ganglia;

Zabbix;

Open-falcon;

Prometheus。

Zabbix是一款开源的、免费的、基于WEB平台的监控软件,主要是用于监控企业服务器、门户网站(展示企业主要的产品信息)、业务系统、数据库的运行状态,能够发现故障和异常,并且可以给SA管理员发送报警信息。

Zabbix监控平台在企业中,到底可以监控哪些数据或者哪些指标呢?具体可以监控哪些项目名称呢?主要是可以监控如下四个层面的指标:

  • 硬件层面

Zabbix可以监控硬件服务器&其他设备,例如监控CPU温度、风扇转速、电源异常情况、机房温度、阵列卡电池、机箱是否被入侵等。

  • 软件层面

Zabbix可以监控应用程序、软件服务,例如监控Nginx、Tomcat、MYSQL、Redis、Apache、PHP、LVS、KEEPALIVED、ELK等进程、端口、返回值信息、状态码等。

  • 系统层面

Zabbix可以监控Windows/Linux操作系统,例如监控CPU、MEM、DISK、NET、I/O、LOAD等的使用率、Open Files、User Number、文件内容是否被修改、权限是否被改变、日志是否有错误等。

  • 网络层面

Zabbix可以监控网络设备,例如监控防火墙、交换机、路由器入口、出口带宽,监控设备之间的连通性、服务器丢包率等。

  • Zabbix监控平台的组件,是由哪些组件构成的?主要是由Zabbix-WEB、Zabbix-Database、Zabbix-Server、Zabbix-Proxy、Zabbix-Client五大组件组成。
  • Zabbix-WEB

主要是基于PHP语言编写的WEB网页程序,用于SA管理员通过WEB界面能够更加方便、直观管理整个Zabbix监控平台,可以将各种监控数据在WEB平台动态、实时展示,所需的监控数据可以从后端数据库中获取。

  • Zabbix-Database

主要是指的关系型数据库系统(MYSQL、Mariadb、DB2、Oracle、Postgresql等),用于存储Zabbix客户端监控数据,监控的指标信息,WEB平台用户名和密码信息等。

  • Zabbix-Server

Zabbix-Server是Zabbix监控平台核心组件服务,主要是用于收集和汇总客户端各种监控数据,并且将监控数据持久化保存至数据库中,还可以自动发现局域网各种设备,并且监控它,还可以接收Proxy分布式节点发送的数据。

  • Zabbix-Proxy

Zabbix-Proxy是分布式的节点,是给Zabbix Server分担压力的,代替Zabbix Server去收集和汇总客户端各种监控数据,并且最终会把收集的数据发送给Zabbix Server,分布式收集日志,集中化传输至Server端。

  • Zabbix-Client

Zabbix-Client是被监控端,可以在Client客户端服务器(OS)部署和安装:SNMP、Agent插件、IPMI等,由该插件监控本机设备详细监控指标数据:CPU、MEM、DISK、NET、I/O、LOAD等,最终Client服务器会将监控数据发送给Proxy或者Server端。

  • Zabbix监控平台部署实战

Zabbix监控平台部署,至少需要安装四个组件,分别是Zabbix_Server、Zabbix_Web、Databases、Zabbix_Agent,如下为Zabbix监控平台安装配置详细步骤:

环境

  • zabbix server:192.168.70.10
  • zabbix agent:192.168.70.11

安装lamp环境

1、yum安装依赖环境和lamp环境

[root@zabbix ~]# yum -y install httpd httpd-devel httpd-tools  mariadb-server mariadb php php-mysql php-mbstring  php-bcmath  php-gd  php-xml gd gd-devel -y 

2、lamp服务启动并关闭防火墙服务

[root@zabbix ~]# systemctl start httpd  
[root@zabbix ~]# systemctl enable httpd  
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.  
[root@zabbix ~]# systemctl start mariadb  
[root@zabbix ~]# systemctl enable mariadb  
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.    [root@zabbix ~]# systemctl stop firewalld  
[root@zabbix ~]# systemctl disable firewalld  
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.  Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. 

3、测试lamp服务

 [root@zabbix ~]#  vim /var/www/html/index.php
<?php
      phpinfo();
?>

安装zabbix服务

1、yum安装依赖环境

[root@zabbix zabbix-3.4.8]# yum install curl gcc gcc-c++ curl-devel net-snmp net-snmp-devel perl-DBI mariadb-devel mysql-devel -y

2、zabbix包下载

[root@zabbix ~]# cd /opt/
[root@zabbix ~ opt]#  wget https://wxjdata-1259797711.cos.ap-beijing.myqcloud.com/zabbix-3.4.8.tar.gz
[root@zabbix opt]# tar xf zabbix-3.4.8.tar.gz 
[root@zabbix opt]# cd zabbix-3.4.8
[root@zabbix zabbix-3.4.8]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2

遇到的报错信息:

configure: error:
Unable to use libevent (libevent check failed)

解决方法:

[root@zabbix zabbix-3.4.8]# yum install libevent-devel -y

编译并安装:

[root@zabbix zabbix-3.4.8]# make ;make install

3、启动服务

[root@zabbix zabbix-3.4.8]# useradd -s /sbin/nologin zabbix
[root@zabbix zabbix-3.4.8]# cp misc/init.d/tru64/zabbix_server /etc/init.d/zabbix_server 

修改zabbix_server启动文件

[root@zabbix ~]# vim /etc/init.d/zabbix_server 

增加执行权限

[root@zabbix zabbix-3.4.8]# chmod o+x /etc/init.d/zabbix_server

创建数据库

[root@zabbix zabbix]# mysql -u root -p
 Enter password: 
 Welcome to the MariaDB monitor.  Commands end with ; or \g.
 Your MariaDB connection id is 7
 Server version: 5.5.64-MariaDB MariaDB Server
 Copyright (c) 2000, 2018, 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 charset=utf8;
 Query OK, 1 row affected (0.00 sec)
 MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by '123456';
 Query OK, 0 rows affected (0.01 sec)
 MariaDB [(none)]> flush privileges;
 Query OK, 0 rows affected (0.00 sec)
 [root@zabbix zabbix]# cd /opt/zabbix-3.4.8
 [root@zabbix zabbix-3.4.8]# mysql -uzabbix -p123456 zabbix<database/mysql/schema.sql
 [root@zabbix zabbix-3.4.8]# mysql -uzabbix -p123456 zabbix<database/mysql/images.sql
 [root@zabbix zabbix-3.4.8]# mysql -uzabbix -p123456 zabbix<database/mysql/data.sql 

配置配置文件

 [root@zabbix zabbix-3.4.8]# cd /usr/local/zabbix/etc/
 [root@zabbix etc]# ls
 zabbix_agentd.conf  zabbix_agentd.conf.d  zabbix_server.conf    zabbix_server.conf.d
 [root@zabbix etc]# cp zabbix_server.conf zabbix_server.conf.bak 

修改配置文件

[root@zabbix ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
 DBHost=localhost
 DBName=zabbix
 DBUser=zabbix
 DBPassword=123456 

服务启动

[root@zabbix etc]# /etc/init.d/zabbix_server start
Zabbix server started. 

安装zabbix-web服务

[root@zabbix ~]# cd /opt/zabbix-3.4.8
[root@zabbix zabbix-3.4.8]# cp frontends/php/* /var/www/html/ -a
[root@zabbix zabbix-3.4.8]# chmod 666 -R /var/www/html/     

修改php.ini文件

[root@zabbix zabbix]#sed -i '/post_max_size/s/8/16/g;/max_execution_time/s/30/300/g;/max_input_time/s/60/300/g;s/\;date.timezone.*/date.timezone \=PRC/g;s/\;always_populate_raw_post_data/always_populate_raw_post_data/g'  /etc/php.ini

重启httpd服务

[root@zabbix zabbix]# systemctl restart httpd

打开IP地址web页面开始安装

下一步

填写数据库信息下一步

填写监听端口下一步

确认信息下一步

增加配置文件

[root@zabbix ~]# vim /var/www/html/conf/zabbix.conf.php
<?php
 // Zabbix GUI configuration file.
 global $DB;
 $DB['TYPE']     = 'MYSQL';
 $DB['SERVER']   = 'localhost';
 $DB['PORT']     = '3306';
 $DB['DATABASE'] = 'zabbix';
 $DB['USER']     = 'zabbix';
 $DB['PASSWORD'] = '123456';
 // Schema name. Used for IBM DB2 and PostgreSQL.
 $DB['SCHEMA'] = '';
 $ZBX_SERVER      = 'localhost';
 $ZBX_SERVER_PORT = '10051';
 $ZBX_SERVER_NAME = 'zabbix';
 $IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;

点击完成

使用默认用户名admin/zabbix登陆到zabbix服务

自动发现、自动注册配置

依次点击configuration----discovery----create discovery rule

依次点击configuration--Actions--Event source(选择Discovery)--create action

如下图所示配置添加

Zabbix_agent安装

 [root@tomcat1 ] yum install curl curl-devel net-snmp net-snmp-devel perl-DBI
 [root@tomcat1 ]  wget https://wxjdata-1259797711.cos.ap-beijing.myqcloud.com/zabbix-3.4.8.tar.gz
 [root@tomcat1 opt]# tar xf zabbix-3.4.8.tar.gz  
 [root@tomcat1 opt]# cd zabbix-3.4.8 
 [root@tomcat1 zabbix-3.4.8]# ./configure --prefix=/usr/local/Zabbix --enable-agent
 [root@tomcat1 zabbix-3.4.8]# make ;make install
 [root@tomcat1 zabbix-3.4.8]# cp misc/init.d/tru64/zabbix_agentd /etc/init.d/zabbix_agentd
 [root@tomcat1 zabbix-3.4.8]# vim /etc/init.d/zabbix_agentd 
DAEMON=/usr/local/zabbix/sbin/zabbix_agentd

启动服务

[root@tomcat1 ~]# /etc/init.d/zabbix_agentd start

查看自动发现的主机

查看自己是否注册成功

转载请标明出处!欢迎加QQ群交流!群号:955496382

发表评论

登录... 后才能评论