41.Zabbix服务搭建使用

Zabbix服务搭建使用

官方网站:http://www.zabbix.com/

1.Zabbix服务安装部署及监控配置

官方网站:http://www.zabbix.com/
The Enterprise-class Monitoring Solution for Everyone
企业级监控解决方案
zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案
zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位解决存在的各种问题。

2.Zabbix 主要特点

安装与配置简单,学习成本低 支持多语言(包括中文) 免费开源 自动发现服务器与网络设备分布式监视以及 WEB 集中管理功能 可以无 agent 监视 用户安全认证和柔软的授权方式 通过 WEB 界面设置或查看监视结果 email 等通知功能

3.Zabbix主要功能

监控CPU负载、内存使用、磁盘使用、网络状态、端口监视、日志监视、插件开发自定义

4.Zabbix运行机制

Zabbix Server 和 Zabbix agent
Zabbix Server 可以通过 SNMP,Zabbix agent,Ping,端口监视等方法提供对远程服务器/网络状态的 监视,数据收集功能,可以在运行 Linux,Solaris,HP-UX,AIX,FreeBSD,OpenBSD,OX X,Windows 多 平台。
Zabbix Agent 安装在需要被监控的目标服务器上,主要完成对硬件信息与操作系统有关的内存,CPU 等信息收集。
Zabbix Server 可以单独监视远程服务器的服务状态,同时也可以与 Zabbix Agent 结合。可以轮询 Zabbix Agent 主动接收监视数据(trapping 传递 方式),同时还可以被动接收 Zabbix Agent 发送的数据。

5.Zabbix运行过程图


我们需要先构建 LNMP 的环境,因为 Zabbix 通过 PHP 页面展示

6.创建导入Zabbix数据库

[root@ZhouShuai ~]# mysql -uroot -p123456
mysql> 
mysql> create database zabbix;
Query OK, 1 row affected (0.00 sec)

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)

mysql> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected, 1 warning (0.00 sec)

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

mysql> exit




[root@ZhouShuai ~]# ll、
-rw-r--r--  1 root root 17130788 Jul  1 16:22 zabbix-3.4.3.tar.gz
[root@xuegod63 ~]# tar xvf zabbix-3.4.3.tar.gz -C /usr/local/src/ 
[root@xuegod63 ~]# cd /usr/local/src/zabbix-3.4.3/
[root@ZhouShuai zabbix-3.4.3]# ls database/
ibm_db2  Makefile.am  Makefile.in  mysql  oracle  postgresql  sqlite3
[root@ZhouShuai zabbix-3.4.3]# 
#导入数据库,注意顺序,否则会报错
[root@ZhouShuai zabbix-3.4.3]# mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
[root@ZhouShuai zabbix-3.4.3]# mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql 
[root@ZhouShuai zabbix-3.4.3]# mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
[root@ZhouShuai zabbix-3.4.3]#

#如果在做分布式的环境中,Proxy 服务器只需要一个数据库 schema,代理者 agent 不需要数据库!Server 必须 三个数据库同时拥有

7.编译安装 Zabbix

[root@ZhouShuai zabbix-3.4.3]# groupadd zabbix
[root@ZhouShuai zabbix-3.4.3]# useradd -s /sbin/nologin -g zabbix zabbix
[root@ZhouShuai zabbix-3.4.3]# yum install -y net-snmp-devel
[root@ZhouShuai zabbix-3.4.3]# yum install libevent libevent-devel -y
[root@ZhouShuai zabbix-3.4.3]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/var/lib/mysql/bin/mysql_config --with-net-snmp --with-libcurl
[root@ZhouShuai zabbix-3.4.3]# echo $?
0

参数说明
--prefix=           #指定路径
--enable-server     #Server 支持
--enable-agent      #支持 Zabbix 客户端
--with-mysql           #指定 MySql 库可以选择自定路径 mysql_config,mysql_config 是命令,用于编译 mysql 客户端程序
--with-net-snmp     #支持 snmp 协议,需要安装 net-snmp-devel 包
--with-libcurl          #支持 CURL 功能,libcurl 主要功能就是用不同的协议连接不同的服务器
--libcurl           #当前支持的协议有 http,https,ftp,gopher,telent,dict,file,和 ldap 协议

其他参数:
--enable-proxy      #指的是支持 zabbix 代理服务器,zabbix proxy 
是一个监控代理服务器,它收集到监控数据,选存放在缓冲区,
保存的时间可以通过配置文件设定,然后再传送的 zabbix server。
监控代理服务需要一个独立的数据库。
用 zabbix proxy 的好处:进程监控,当监控的位置通信不便时,
当通讯上千台设备的时候,使用 zabbix_proxy 可以简化维护分布式监控,
降低 zabbix server 的负载。


8.按上面的提示,没有 make 步骤,直接 make install

[root@ZhouShuai zabbix-3.4.3]# make install

9.配置 Zabbix Server

[root@ZhouShuai zabbix-3.4.3]# vim /usr/local/zabbix/etc/zabbix_server.conf
85  DBHost=localhost        #默认注释掉了,直接取消注释即可
95  DBName=zabbix       #数据库用户,我们授权的用户也是zabbix
111  DBUser=zabbix      #默认是 root,我们授权的用户是 zabbix
119  DBPassword=zabbix  #密码我们授权的也是 zabbix

10.监控 Zabbix Server 本身

监控本身,意思是本身作为服务器之外,自己也做自己的客户端,也要使用agentd这个代理者 配置文件中,有 agentd 和 agent 两个配置文件,前者是守护进程,后者依赖 xinetd

[root@ZhouShuai zabbix-3.4.3]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
93  Server=127.0.0.1            #默认监控服务器自己,这三行不用改
134  ServerActive=127.0.0.1
145  Hostname=Zabbix server
改:280  # UnsafeUserParameters=0
为:280  UnsafeUserParameters=1       #允许所有的字符是在用户定义的参数,参数传递,也就是支持自定义脚本
其中 Server 和 ServerActive 都指定 zabbixserver 的 IP 地址,不同的是,前者是被动后者是主动。
也就是说前者允许 127.0.0.1 这个 IP 来我这取数据。
而 ServerActive 的 127.0.0.1 的意思是客户端主动提交数据给他

11.启动服务

如果 zabbix 用户不存在, 将以 root 运行,新建之后,如果 zabbix 存在,那么直接可以用 zabbix 运行

[root@ZhouShuai zabbix-3.4.3]# /usr/local/zabbix/sbin/zabbix_server
/usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory
[root@ZhouShuai zabbix-3.4.3]# vim /etc/ld.so.conf
  1 include ld.so.conf.d/*.conf
  2 /usr/local/lib64
  3 /usr/local/lib
  4 /usr/lib
  5 /usr/lib64
  6 /var/lib/mysql/lib/

[root@ZhouShuai zabbix-3.4.3]# ldconfig
[root@ZhouShuai zabbix-3.4.3]# echo /usr/local/zabbix/sbin/zabbix_server >> /etc/rc.local
[root@ZhouShuai zabbix-3.4.3]#  /usr/local/zabbix/sbin/zabbix_server
[root@ZhouShuai zabbix-3.4.3]# netstat -antup | grep zabbix
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      12477/zabbix_server 
[root@ZhouShuai zabbix-3.4.3]# 

12.或者通过启动脚本启动 zabbix

Zabbix默认有部分启动脚本,如果你自己也可以通过脚本的方式来实现,可以使用他的模板来实现 脚本在源码目录的 misc/init.d/下面(使用 fedora 下面的 core 即可,也可以使用 fedroa core5 的脚本均可)

[root@ZhouShuai zabbix-3.4.3]# cd /usr/local/src/zabbix-3.4.3/misc/init.d/
[root@ZhouShuai init.d]# ls  fedora/core/
zabbix_agentd  zabbix_server
[root@ZhouShuai init.d]# cp fedora/core/*  /etc/rc.d/init.d/
[root@ZhouShuai init.d]# vim /etc/init.d/zabbix_server
改:22   BASEDIR=/usr/local
为:22   BASEDIR=/usr/local/zabbix

[root@ZhouShuai  init.d]# vim /etc/init.d/zabbix_agentd
改:22   BASEDIR=/usr/local
为:22   BASEDIR=/usr/local/zabbix

[root@ZhouShuai init.d]# cd
[root@ZhouShuai ~]#  /etc/init.d/zabbix_agentd start
Reloading systemd:                                         [  OK  ]
Starting zabbix_agentd (via systemctl):                    [  OK  ]
[root@ZhouShuai ~]# chkconfig zabbix_server on
[root@ZhouShuai ~]# chkconfig zabbix_agentd on
[root@ZhouShuai ~]# 

13.编辑 php 页面控制文件及安装Zabbix

[root@ZhouShuai  ~]# cd /var/www
[root@ZhouShuai www]# mkdir zabbix
[root@ZhouShuai www]# ll
drwxr-xr-x 10 root root 290 Jun 26 19:08 ThinkPHP
drwxr-xr-x  2 root root   6 Jul  1 17:01 zabbix
[root@ZhouShuai www]# cp -r /usr/local/src/zabbix-3.4.3/frontends/php/* /var/www/zabbix/
[root@ZhouShuai www]# cd zabbix/
[root@ZhouShuai zabbix]# ll

[root@ZhouShuai ~]# vim /usr/local/nginx/conf/nginx.conf
server {
        listen 80; 
        server_name zabbix.zhou.com;
    

        location / { 
            root   /var/www/zabbix;
            index  index.php index.html index.htm;
         }   

        location ~ \.php$ {
             root /var/www/zabbix;
             fastcgi_pass   127.0.0.1:9000;
             fastcgi_index  index.php;
             fastcgi_param  SCRIPT_FILENAME /var/www/zabbix$fastcgi_script_name;
             include        fastcgi_params;
        }   

        location = /50x.html {
           root   html;
        }   
    
        #location ~ /\.ht {
        #  deny  all;
        #}  
    }

重启nginx服务和php-fpm服务
[root@ZhouShuai ~]# /usr/local/nginx/sbin/nginx -s reload 
[root@ZhouShuai ~]# /etc/init.d/zabbix_server restart
[root@ZhouShuai ~]#/etc/init.d/php-fpm restart

14.安装 Zabbix-Web

编辑 php.ini 文件,修改环境

[root@ZhouShuai ~]# vim /usr/local/php/php.ini

改:max_execution_time = 30

为:max_execution_time = 300

改:max_input_time = 60

为:max_input_time = 300

改:post_max_size = 8M

为:post_max_size = 16M

改 ;date.timezone =

为:date.timezone = Asia/Shanghai

改:mysqli.default_socket =  #指定php连接mysql的sock路径

为:mysqli.default_socket = /var/lib/mysql/mysql.sock

always_populate_raw_post_data = -1 #在文件末尾处添加

[root@ZhouShuai ~]# /etc/init.d/php-fpm restart  #重启fpm

刷新页面

PHP LDAP 模块安装

[root@ZhouShuai ~]# cd /usr/local/src/php-7.3.6/
[root@ZhouShuai php-7.3.6]# cd ext/ldap/
[root@ZhouShuai ldap]# ls
config.m4  config.w32  CREDITS  ldap.c  php_ldap.h  tests
[root@ZhouShuai ldap]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version:         20180731
Zend Module Api No:      20180731
Zend Extension Api No:   320180731
[root@ZhouShuai ldap]# 
[root@ZhouShuai ldap]# yum install openldap-devel openldap -y
[root@ZhouShuai ldap]#  rsync -avz /usr/lib64/libldap* /usr/lib/
sending incremental file list
libldap-2.4.so.2 -> libldap-2.4.so.2.10.7
libldap-2.4.so.2.10.7
libldap.so -> libldap-2.4.so.2.10.7
libldap_r-2.4.so.2 -> libldap_r-2.4.so.2.10.7
libldap_r-2.4.so.2.10.7
libldap_r.so -> libldap_r-2.4.so.2.10.7

sent 320,883 bytes  received 66 bytes  641,898.00 bytes/sec
total size is 734,112  speedup is 2.29
[root@ZhouShuai ldap]#
[root@ZhouShuai ldap]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-ldap
[root@ZhouShuai ldap]# make && make install
[root@ZhouShuai ldap]# ls /usr/local/php/lib/php/extensions/no-debug-zts-20180731/
ldap.so  memcached.so  opcache.a  opcache.so  redis.so  swoole.so  yaconf.so
[root@ZhouShuai ldap]# 
[root@ZhouShuai ldap]# vim /usr/local/php/php.ini
extension=ldap.so   
[root@ZhouShuai ldap]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm  done
[root@ZhouShuai ldap]# 






登陆 Zabbix 并配置 登陆之后我们修改语言 默认用户名和密码分别为 admin,zabbix

点击右上角用户,然后选择语言



点击配置-主机 启用本主机(默认没有启动,点击后面红色的停用,则启用)

启动Zabbix_Agent

[root@ZhouShuai ~]# /usr/local/zabbix/sbin/zabbix_agentd
再次刷新页面,可以看到,agent状态已经正常

可以看到已经开始出图:

但是发现下面显示有问题:这个是中文字符集的问题,在英文状态下显示是正常的

[root@ZhouShuai fonts]# ll
total 21332
-rw-r--r-- 1 nginx nginx   756072 Jul  1 17:02 DejaVuSans.ttf
-rw-r--r-- 1 root  root  21084256 Jul  1 18:40 微软雅黑.ttf
[root@ZhouShuai fonts]# mv DejaVuSans.ttf  DejaVuSans.ttf.bak
[root@ZhouShuai fonts]# mv *.ttf DejaVuSans.ttf
[root@ZhouShuai fonts]# ll
-rw-r--r-- 1 root  root  21084256 Jul  1 18:40 DejaVuSans.ttf
-rw-r--r-- 1 nginx nginx   756072 Jul  1 17:02 DejaVuSans.ttf.bak
[root@ZhouShuai fonts]# 

安装完成~~

-------------------------------------------------------未完待续--------------------------------

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容