设为首页 收藏本站
查看: 1115|回复: 0

[经验分享] Linux监控平台——搭建zabbix监控平台

[复制链接]

尚未签到

发表于 2019-1-24 11:20:54 | 显示全部楼层 |阅读模式
19.1 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官方文档:https://www.zabbix.com/manuals 是学习zabbix的最好途径。
  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上安装数据库(安装方法见:http://blog.运维网.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监控架构搭建基本结束!!!




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-666974-1-1.html 上篇帖子: 使用Zabbix和grafana来监控交换机流量 下篇帖子: 更改zabbix数据库的密码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表