`
wx1569466809
  • 浏览: 72039 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

第十九章 Linux监控平台搭建

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。

监控流程

mark

19.3-19.4 安装zabbix

准备工作

两台机器:一台作为server(IP:192.168.8.136),一台作为client(IP:192.168.8.138),均安装zabbix,server上安装数据库(安装方法见:https://my.oschina.net/u/3497124/blog/1488479 )。

可以使用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监控架构搭建基本结束!!!

转载于:https://my.oschina.net/1995blog/blog/1594710

分享到:
评论

相关推荐

    zabbix搭建软件包.7z

    本压缩包"zabbix搭建软件包.7z"包含了搭建Zabbix环境所需的基本组件和配置文件,帮助用户快速部署Zabbix监控系统。 在搭建Zabbix前,我们需要了解以下核心概念和步骤: 1. **Zabbix组件**:Zabbix主要由三部分组成...

    Zabbix4.4.6服务监控

    《Zabbix 4.4.6 服务监控详解——Linux云计算环境下的监控实践》 Zabbix,作为一款强大的开源IT基础设施监控工具,广泛应用于企业级的服务器管理中。本文将详细阐述如何在Linux云计算环境中,利用Zabbix 4.4.6版本...

    1.zabbix-server安装部署包 2.mariadb安装部署包 3.zabbix-agent安装部署包

    通过以上步骤,你可以成功地在Linux环境中搭建起一个基本的Zabbix监控系统。记得在实际操作时,根据具体环境调整配置文件,并确保防火墙规则允许Zabbix Server与Agent之间的通信。此外,别忘了定期更新Zabbix以获取...

    高性能Linux服务器构建实战 系统安全、故障排查、自动化运维与集群架构

    《高性能Linux服务器构建实战——系统安全、故障排查、自动化运维与集群架构》是一本深入探讨Linux服务器优化与管理的专业书籍,由资深IT专家高俊峰撰写。本书旨在帮助读者掌握在Linux环境中构建高性能服务器的核心...

    52498-Hadoop平台搭建与应用-任务实施操作指南手册.rar

    《Hadoop平台搭建与应用-任务实施操作指南》是一份详尽的教程,旨在帮助用户理解和实践Hadoop生态系统中的各种组件和技术。Hadoop是大数据处理领域的重要工具,它提供了分布式存储和计算的能力,使得海量数据的处理...

    grafana-8.4.3.linux-amd64.tar.gz

    总的来说,"grafana-8.4.3.linux-amd64.tar.gz"是Grafana为Linux用户提供的一站式解决方案,通过这个压缩包,用户可以快速在Linux环境中搭建起强大的数据可视化平台,实现对复杂数据的深度洞察和高效管理。...

    老男孩运维58期视频.txt

    - Zabbix监控平台介绍 - **第四章:自动化运维** - Ansible自动化运维工具学习 - Puppet配置管理工具应用 - **第五章:数据库管理** - MySQL数据库安装与配置 - 数据备份与恢复策略 - **第六章:云平台技术** ...

    鸟哥猪哥的linux私房菜

    7. **监控与报警**:Zabbix、Nagios等监控工具的安装与配置,实现对系统状态的实时监控。 通过这两本书的学习,读者不仅可以了解Linux的基础知识,还能掌握实际操作技能,为成为合格的Linux系统管理员打下坚实基础...

    运维专用项目总结报告模板

    1.1 **编写目的**:本报告的目的是为了全面回顾ZABBIX监控系统部署的过程,总结经验教训,为今后类似项目的执行提供参考。 1.2 **背景**:ZABBIX是一款开源的企业级监控解决方案,用于监控IT基础设施,包括网络设备...

    shell脚本合集--大量注释

    4. **Zabbix监控** Zabbix是一款开源的企业级监控解决方案,能监控网络性能和IT服务。一键部署脚本可能包括安装Zabbix服务器和代理、配置数据库连接、设置Web界面等。这样的脚本使监控环境的建立变得简单易行。 5....

    hualinux2.4 环境搭建:centos8安装LAMP.pdf

    时间同步对于很多服务的运行都是十分重要的,比如数据库的主从同步,监控系统如Zabbix等,因此建议配置时间服务器同步。CentOS 8默认使用chronyd来进行时间同步,相比于ntpd,chronyd具有更好的性能。配置时可以选择...

    红黑联盟菜鸟学架各类服务器

    7. **监控与日志分析**:如何使用工具如Nagios、Zabbix监控服务器状态,以及通过日志分析问题。 8. **虚拟化技术**:如VMware ESXi、KVM或Docker的基础知识,实现资源的有效利用。 这份资源对想进入服务器管理领域...

    小豪商城服务器资源

    10. **监控与日志管理**:Zabbix、ELK Stack(Elasticsearch、Logstash、Kibana)等工具用于监控服务器状态,收集和分析日志,及时发现并解决问题。 11. **自动化运维**:Ansible、Chef、Puppet等配置管理工具实现...

Global site tag (gtag.js) - Google Analytics