Linux监控平台——搭建zabbix监控平台

 Linux监控平台介绍

常见开源监控软件

cacti、nagios、zabbix、smokeping、open-falcon等等。

cacti、smokeping偏向于基础监控,成图漂亮。

cacti、nagios、zabbix服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,nagios不用存储历史数据,注重服务或者监控项的状态;zabbix会获取服务或者监控项目的数据从而可以成图,zabbix把数据记录到数据库里,支持历史数据查询,而且zabbix可以非常方便的自定义监控项目。

open-falcon为小米公司开发,开源后受到诸多大公司和运维工程师的追捧,适合大企业,滴滴、360、新浪微博、京东等大公司在使用这款监控软件,值得研究。

本节学习以zabbix为例。

19.2 zabbix监控介绍

zabbix基于C++开发,是C/S(client/server)架构,即分为客户端和服务端,单个服务端节点可以支持上万台客户端,监控中心支持web UI(web界面)配置和管理。

zabbix组件

zabbix整个体系架构中有以下5个主要角色:

zabbix-server

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

数据存储(如:mysql)

监控过程中收集的所有信息都存储在这里。

web界面

web界面,即GUI。这是zabbix监控简单易用的原因之一,因为我们可以在web界面中配置、管理各个客户端。运行web界面需要有PHP环境支持。

zabbix-proxy

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

zabbix-agent

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

监控流程

19.3-19.4 安装zabbix

准备工作

两台机器:一台作为server(IP:192.168.8.136),一台作为client(IP:192.168.8.138),均安装zabbix,server上安装数据库(安装方法见:https://blog.51cto.com/13242922/2073353 )。

可以使用yum安装zabbix,版本是2.2,有点老旧。在此使用zabbix官方提供的对应版本的yum源安装较新版本的zabbix。

在服务端安装zabbix

安装zabbix之前需要先安装其yum源仓库。

下载zabbix的yum源仓库:

[root@z1 src]# wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

安装yum源仓库:

[root@z1 src]# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm

[root@z1 src]# ls /etc/yum.repos.d/

zabbix.repo

安装zabbix及其组件:

[root@z1 src]# yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql

#zabbix-agent:客户端程序

#zabbix-get:服务端上命令行获取客户端检测项目的工具

#zabbix-server-mysql:zabbix-server MySQL版

#zabbix-web:web界面

#zabbix-web-mysql:web界面MySQL相关

注:该过程会连带安装PHP和http。

配置

配置server端:

配置mysql:

[root@z1 src]# vim /etc/my.cnf

character_set_server = utf8

#设置默认字符集--目的是辅助web界面中文显示

重启mysql服务:

[root@z1 src]# /etc/init.d/mysqld restart

创建数据库:

[root@z1 ~]# mysql -uroot

mysql> create database zabbix character set utf8;

#创建库并指定其字符集

mysql> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by '123456';

mysql> quit

向zabbix数据库中导入原始数据:

[root@z1 ~]# cd /usr/share/doc/zabbix-server-mysql-3.2.7/

#注意:该路径使用tab键补全

解压create.sql.gz包:

[root@z1 zabbix-server-mysql-3.2.7]# ls

AUTHORS ChangeLog COPYING create.sql.gz NEWS README

[root@z1 zabbix-server-mysql-3.2.7]# gzip -d create.sql.gz 

[root@z1 zabbix-server-mysql-3.2.7]# ls

AUTHORS ChangeLog COPYING create.sql NEWS README

将解压后的数据(create.sql)数据导入zabbix库: 

[root@z1 zabbix-server-mysql-3.2.7]# mysql -uroot zabbix < create.sql

启动zabbix服务:

[root@z1 zabbix-server-mysql-3.2.7]# systemctl start zabbix-server

启动http服务:

[root@z1 zabbix-server-mysql-3.2.7]# systemctl start httpd.service

[root@z1 zabbix-server-mysql-3.2.7]# netstat -lntp |grep httpd

tcp6 0 0 :::80 :::* LISTEN 2370/httpd

可以对zabbix、http等服务设置开机启动: 

[root@z1 zabbix-server-mysql-3.2.7]# systemctl enable zabbix-server.service

[root@z1 zabbix-server-mysql-3.2.7]# systemctl enable httpd.service

至此,检查zabbix服务状态(ps,netstat)发现,服务启动了,但是没有监听端口,状态不正常,进行错误排查:

查看zabbix日志:

[root@z1 zabbix-server-mysql-3.2.7]# less /var/log/zabbix/zabbix_server.log 

2343:20170907:175923.056 database is down: reconnecting in 10 seconds

2343:20170907:175933.058 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect t

o local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

即,无法连接mysql。

解决办法:

更改zabbix配置文件。

[root@z1 zabbix-server-mysql-3.2.7]# vim //etc/zabbix/zabbix_server.conf

DBHost=127.0.0.1

#此处写zabbix所在机器的IP(生产环境中zabbix可能单独使用一天机器)

#该IP应该和数据库授权时指定的IP一致

DBName=zabbix

DBUser=zabbix

DBPassword=123456

更改完成后重启zabbix服务:

[root@z1 zabbix-server-mysql-3.2.7]# systemctl restart zabbix-server.service

启动完成后查看其状态(ps、netstat),正常(服务端zabbix默认监听10051端口)!

配置web界面

使用浏览器访问server机器上的IP:192.168.8.136/zabbix(进行该操作前保证server已关闭防火墙)进入安装引导界面。

mark

点击“Next step”进入检测界面:

mark

错误: 此处有错误提示,意识是PHP无法识别“data.timezone”(时区)。

解决方法:

编辑PHP配置文件,更改时区:

[root@z1 ~]# vim /etc/php.ini 

date.timezone =Asia/Shanghai

重启httpd服务:

[root@z1 ~]# systemctl restart httpd.service

浏览器刷新,问题解决!然后,继续点击“Next step”,配置数据库信息:

mark

点击“Next step”,设置服务器用户名(自定义):

mark

继续点击“Next step”,至出现提示界面:

mark 即,安装完成!

登录sever端zabbix

mark

注意: 管理员初始用户名和密码(Admin:zabbix)。

登录zabbix之后首先要更改管理员密码:

mark

点击“Admin”进入如下界面:

mark

然后点击“changepassword”:

mark

更改完成后“刷新”,界面显示为设定的界面语言:中文!

19.5 忘记服务端zabbix管理员密码

如果忘记zabbix(web界面)管理员密码,可通过zabbix服务器的数据库进行密码更改!

[root@z1 ~]# mysql -uroot

切换库:

mysql> use zabbix;

更改密码:

mysql> update users set passwd=md5('123456') where alias='Admin';

mysql> quit

完成!

设置完成后在浏览器使用新密码登录zabbix,成功!

19.6 zabbix客户端配置

在客户端安装zabbix

安装zabbix之前需要先安装其yum源仓库。

下载zabbix的yum源仓库:

[root@z1 src]# wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

安装yum源仓库:

[root@z1 src]# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm

安装zabbix:

[root@z2 ~]# yum install -y zabbix-agent

配置

编辑zabbix配置文件:

[root@z2 ~]# vim /etc/zabbix/zabbix_agentd.conf

Server=192.168.8.136

#指定服务端主机IP(设置客户端的监控主机白名单)

ServerActive=192.168.8.136

#该参数决定监控的主动/被动模式

#如果只改参数Server,则只能采用被动模式(只能等待服务端来采集信息)

#主动模式:客户端主动向服务端发送信息

Hostname=adai-02

#该参数用于设定客户端主机的名字,用于服务端添加监控服务

#如果服务端所监控的机器和其Hostname不一致,服务端将无法识别该机器

#因为zabbix是通过IP进行监控的,该参数不会对监控造成太大影响

#加上该参数有利于更好的辨别服务端监控是哪台主机的状态

启动zabbix服务:

[root@z2 ~]# systemctl start zabbix-agent.service 

查看zabbix服务状态(ps、netstat),正常(客户端zabbix默认监听10050端口)!

至此,zabbix监控架构搭建基本结束!!!

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

推荐阅读更多精彩内容