linux监控平台介绍zabbix监控介绍安装zabbix
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux监控平台介绍zabbix监控介绍安装zabbix相关的知识,希望对你有一定的参考价值。
linux监控平台介绍
常见开源监控软件
-
cacti、nagios、zabbix、smokeping、open-falcon 等等。
-
nagios和zabbix流行度很高。
-
cacti、smokeping 偏向于监控基础的东西。
-
cacti可以监控网络设备,它的图形表现得非常好,非常漂亮。
- IDC 机房比较喜欢用cacti、smokeping,因为适合监控网络设备。
-
-
cacti、nagios、zabbix 服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,nagios不同存储历史数据,注重服务或者监控项的状态,zabbix会获取服务或者监控项目的数据,会把数据记录到数据库里,从而可以成图
-
open-falcon 是小米公司开发的监控软件。开源后收到诸多大公司和运维工程师的追捧,适合大企业,滴滴、360、新浪微博、京东等大公司在使用这款监控软件,值得研究。
-
zabbix、nagios、cacti 都是支持web界面去管理、控制。
- 其中zabbix在web界面下管理得非常彻底。可以去增加监控节点,可以去配置具体的监控项目等。
- nagios 和zabbix相比,更注重于某一个监控的状态。
zabbix 监控介绍
-
zabbix 有一个服务端,去客户端抓数据,客户端上必须有个服务启动着,服务是负责采集数据的,数据是可以主动上报给服务端的,也可以让服务端连接客户端抓数据。所以,客户端分两种模式,一种是主动模式,一种是被动模式。
-
zabbix 也是C/S架构,基于c++开发,监控中心支持web界面配置和管理(需要php环境)
-
单server节点可以支持上万台客户端
- 它的瓶颈可能在于采集数据的量,如果上万台客户端监控的项目太多的话也会导致效率降级。这时,就需要对zabbix进行优化了,增加一些proxy(代理点),这些代理点充当server的角色,替代server 去采集数据,最终得到分析结果再汇报给server。
-
最新版本3.4(更新速度还是很快的),官方文档https://www.zabbix.com/manuals
-
zabbix 组件 (zabbix整个体系交媾中有一下5个主要角色:)
- zabbix-server 监控中心
zabbix-server是整个监控体系中最核心的组件,它负责接收客户端上报的信息,负责配置、统计、操作数据。
- 数据存储(如:mysql、mariadb、SqlServer)
监控过程中收集的所有信息都存储在这里。
- web界面
web界面,即web UI。这是zabbix监控简单易用的原因之一,因为我们可以在web界面中配置、管理各个客户端。运行web界面需要有PHP环境支持。
- zabbix-proxy
zabbix-proxy为可选组件,用于监控节点非常多的分布式环境,它可以代理zabbix-server的功能,减轻zabbix-server的压力。
- zabbix-agent
zabbix-agent为部署在各个客户端上的组件,用于采集各个监控项目的数据,并把采集的数据传输给zabbix-proxy或zabbix-server。
- zabbix 监控流程图
// 如果想要监控一个服务器,需要将主机添加到监控中心去,让他们两者之间通信,然后还要添加监控的项目。然后就能采集数据,将数据上报到所谓数据中心(mysql)去。其中采集过程可以是主动也可以是被动。zabbix-server需要配置一个告警规则。当采集数据值到达报警条件则告警,没达到就仅仅是存储。还需要配置一个告警机制。所有的配置都是在web界面配置的。所有的数据都以图形的形式在web界面呈现。
安装zabbix
准备工作
-
两台机器:一台作为server (ip:192.168.159.131),一台作为client(ip:192.168.159.132)。
-
两台机器均安装zabbix;server安装数据库 。
-
可以yum 直接安装的zabbix,但是需要安装epel拓展源,而且版本是2.2,有点老旧。在此使用zabbix 官方提供的对应版本的yum 源安装较新版本的zabbix。
- zabbix官网下载地址:www.zabbix.com/download
两台机器都安装zabbix的yum源仓库
到zabbix官网下载地址中下rpm包:
[[email protected] src]# wget # rpm -i http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
安装yum源仓库:
[[email protected] src]# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
yum.repos.d下多少了一个zabbix.repo 文件:
[[email protected] src]# ls /etc/yum.repos.d/zabbix.repo
/etc/yum.repos.d/zabbix.repo
配置server端
-
安装zabbix以及相关组件
[[email protected] 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
// 安装mysql,可以使用yum安装,也可以使用二进制包安装。
-
配置mysql
// 启动mysql
// 使用ps aux | grep mysqld 查看mysql服务是否启动。编辑mysql配置文件,添加下面内容:
[[email protected] src]# vim /etc/my.cnf
character_set_server = utf8
// 设置默认字符集utf8目的是辅助web界面中文显示重启mysql:
[[email protected] src]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!进入mysql命令行,创建zabbix库和用户
[[email protected] src]# mysql -uroot -pmysql> create database zabbix character set utf8;
Query OK, 1 row affected (0.00 sec)
// 创建zabbix库的时候指定编码为utf8mysql> grant all on zabbix.* to ‘zabbix‘@‘127.0.0.1‘ identified by ‘123456‘;
Query OK, 0 rows affected (0.00 sec)
// 创建zabbix是用来让php代码连接mysql的
// 还有就是监控中心服务启动的前提是能够连接mysql
// 客户端采集了数据需要把数据传递给服务端,服务端需要一个用户去将数据写入数据库mysql> quit
Bye向zabbix库中导入原始数据:
// 没有数据zabbix 就无法以web的形式展现给我们[[email protected] src]# cd /usr/share/doc/zabbix-server-mysql-3.2.11/
// 原始数据所在目录[[email protected] zabbix-server-mysql-3.2.11]# ls
AUTHORS ChangeLog COPYING create.sql.gz NEWS README[[email protected] zabbix-server-mysql-3.2.11]# gzip -d create.sql.gz
// 解压 create.sql.gz 包[[email protected] zabbix-server-mysql-3.2.11]# ls
AUTHORS ChangeLog COPYING create.sql NEWS README[[email protected] zabbix-server-mysql-3.2.11]# mysql -uroot -p112233 zabbix < create.sql
// 将create.sql 导入到zabbix库中 -
启动zabbix、httpd服务
启动zabbix-server 和http 服务:
[[email protected] ~]# systemctl start zabbix-server
[[email protected] ~]# systemctl start httpd
// 启动httpd服务前,需先查看80端口是否被占用
// 启动完之后再去查看下80端口是否是被httpd服务占用
// 启动完之后检查zabbix状态是否正常
// zabbix默认监听10051端口将zabbix-server和httpd设置为开机启动:
[[email protected] ~]# systemctl enable zabbix-server
[[email protected] ~]# systemctl enable httpd -
检查zabbix服务状态(进程、端口占用)时,发现服务启动没,但是没有监听端口,此时需要进行错误排查
查看zabbix日志:
[[email protected] ~]# less /var/log/zabbix/zabbix_server.log
3839:20180131:151323.944 using configuration file: /etc/zabbix/zabbix_server.conf
3839:20180131:151323.975 [Z3001] connection to database ‘zabbix‘ failed: [2002] Can‘t connect to local
MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (13)// 根据日志提示得知,zabbix不能正常连接mysql,需要去改一下配置文件
修改配置文件:
[[email protected] ~]# vim /etc/zabbix/zabbix_server.conf
DBHost=127.0.0.1
// 此处写mysql所在机器的IP(生产环境中mysql可能单独使用一台机器)
// 该IP应该和数据库授权时指定的来源IP一致
DBName=zabbix
DBUser=zabbix
DBPassword=123456
// 这些都是之前创建mysql用户中定义的重启zabbix服务:
[[email protected] ~]# systemctl restart zabbix-server// 如果zabbix服务重启失败,则检查配置文件时候有错误。
// 注意新加配置的大小写!!!查看zabbix服务的进程和端口:
[[email protected] ~]# ps aux | grep zabbix
// zabbix正常启动之后进程数量很多[[email protected] ~]# netstat -lntp | grep zabbix
tcp 0 0 0.0.0.0:10051 0.0.0.0: LISTEN 4184/zabbix_server
tcp6 0 0 :::10051 ::: LISTEN 4184/zabbix_server
// zabbix 占用的是10051端口
配置web界面
-
使用浏览器访问server机器上的ip:192.168.159.131/zabbix 进入安装引导界面。
-
进行操作前保证server已经关闭防火墙
- 在yum安装zabbix时已经帮你安装了httpd以及配置文件,所有都配置好了。
1、使用浏览器访问server机器IP:192.168.159.131/zabbix
2、点击“Next step”进入检测界面
// 提示错误,PHP无法识别“data.timezone”(时区)
// 编辑php配置文件,更改时区
[[email protected] ~]# vim /etc/php.ini
date.timezone =Asia/Shanghai
重启httpd服务:
[[email protected] ~]# systemctl restart httpd
6、提示安装完成
7、进入登录界面
注意 : 管理员初始用户名admin密码zabbix
8、点击Administration 进入如下界面,点击Admin可以修改密码及语言等
9、修改密码及语言
// 修改完之后点击update即可生效。刷新即可显示中文界面。下次登录则需要使用新密码。
重置服务端zabbix管理员密码
-
如果忘记zabbix(web界面)管理员密码,可通过zabbix服务器的数据库进行密码更改!
进入mysql命令
[[email protected] ~]# mysql -uroot -p
切换库:
mysql> use zabbix;更改密码:
mysql> update users set passwd=md5(‘111222‘) where alias=‘Admin‘;
// 新密码为111222
zabbix 客户端配置
-
在安装zabbix之前,需要先下载yum源,安装yum源。(之前已经做过了)
-
安装zabbix
[[email protected] src]# yum install -y zabbix-agent
// zabbix-agent 客户端 -
编辑配置文件
[[email protected] src]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.159,131
// 将Server改为监控中心机器ip
// 93行ServerActive=192.168.159.131
// 将ServerActive 改为监控中心机器ip
// 136行
// 如果只写上面那个server只能使用被动模式(只能等待服务端来采集信息)
// 如果想主动上报则要配置serveractive(自动将信息上报给服务端)Hostname=Zabbix 01
// 将hostname改成一个能够识别的主机名。
// 147行
// 该参数有利于更好的辨别服务端监控是哪台主机的状态 -
启动zabbix-agent服务
启动zabbix-agent服务:
[[email protected] src]# systemctl start zabbix-agent查看zabbix进程:
[[email protected] src]# ps aux | grep zabbix查看zabbix端口:
[[email protected] src]# netstat -lntp | grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0: LISTEN 5496/zabbix_agentd
tcp6 0 0 :::10050 ::: LISTEN 5496/zabbix_agentd
// zabbix-agent监听的是10050端口设置zabbix-agent开机启动:
[[email protected] src]# systemctl enable zabbix-agent
以上是关于linux监控平台介绍zabbix监控介绍安装zabbix的主要内容,如果未能解决你的问题,请参考以下文章
六十Linux监控平台介绍zabbix监控介绍安装zabbix忘记Admin密码如何做
linux监控平台搭建监控平台介绍zabbix监控介绍安装zabbix忘记Admin密码
19.1 Linux监控平台介绍 19.2 zabbix监控介绍及安装
Linux监控平台介绍,zabbix监控介绍,安装zabbix,忘记admin密码如何做