CentOS Linux 监控安装之Zabbix

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云防火墙,500元 1000GB
简介:


1、Zabbix监控介绍

Zabbix是一个企业级、分布式,基于GPL开源的监控系统;Zabbix可以监控网络和各种服务的状况,有非常灵活的告警机制,用户可以对事件定义不同的告警,可以存储数据并提供图形化的显示和完整的报告。它可以运行在Linux、Solaris、HP-UX、AIX、Free BSD、Open BSD、OS X等平台上(没有Windows),它的官网是http://www.zabbix.com/


1)、Zabbix的特点:

数据收集;实时绘图;灵活的阀值定义 ;高级告警配置 ;自定义扩展的图形化;历史数据存储 ;模版的使用 ;权限系统等。


2)、Zabbix的进程构成:

默认情况下,Zabbix包含5个程序,zabbix_agentd、zabbix_server 、zabbix_get、zabbix_proxy、zabbix_sender。


zabbix_agentd:客户端守护进程,此进程收集客户端的数据,比如:CPU负载、内存使用率、硬盘使用情况等。


zabbix_server:服务端守护进程,zabbix_agentd 、zabbix_get、zabbix_proxy、zabbix_sender的数据最终都会提交给zabbix_server处理。


zabbix_get:zabbix工具,通常在server或者proxy端执行命令获取远程客户端的信息的命令,通常用于排除。


zabbix_proxy:代理守护进程,类似zabbix_server,它就是一个中转站,它需要把收集的数据提交到server上。


zabbix_sender:zabbix工具 ,用来主动提交数据给server或者proxy,通常是用来处理耗时较长的检查。


2、Zabbix服务器安装


1)安装前的准备:

(1)、添加防火墙规则

vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT    #web访问查看监控

-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT   #zabbix客户端的端口

-A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT   #zabbix服务器的端口

:wq    #保存退出


/etc/init.d/iptables restart #最后重启防火墙使配置生效


(2)、关闭SELinux

vim /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq!  #保存退出


setenforce 0 #使配置立即生效,重启系统永久生效


2)Zabbix的安装


Zabbix需要有web的环境,需要有数据库的支持,同时需要有PHP的运行环境,因此需要构建LAMP或者LNMP的环境。这里使用yum 安装(建议使用源码安装),zabbix的版本是2.2版本。


(1)、安装epel扩展源

yum install  epel-release


(2)、安装LAMP环境

yum install -y  httpd mysql mysql-libs php php-mysql mysql-server php-bcmath php-gd php-mbstring php-gd 


安装完成后,需要修改php.ini的参数,主要有如下:

date.timezone = Asia/Chongqing     #此项默认是有“;”注释,需要打开,并且定义。

Zabbix建议的一些参数修改为如下:

max_execution_time=300         

memory_limit = 128M

max_input_time = 300

post_max_size = 16M

upload_max_filesize = 2M


(3)、安装Zzbbix2.2版本服务器

yum install  -y zabbix22 zabbix22-agent zabbix22-server  zabbix22-server-mysql zabbix22-web zabbix22-web-mysql net-snmp-devel libxml2-devel libcurl-devel


(4)、创建用于Zabbix的数据库和数据库用户,并且导入zabbix的数据库文件。

Zabbix Server需要导入的是三个数据库文件,而Proxy只需要导入一个即可。

/etc/init.d/mysqld start                #启动数据库


mysql -uroot -p                      #进入MySQL数据库控制台


create database zabbix character set utf8;     #创建zabbix数据库,并且设置编码为utf8


grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'zabbix' with grant option;  

或者:

grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix' with grant option;

#创建zabbix用户,并且运行在本机连接zabbix数据库


flush privileges;     #刷新数据库权限列表


use zabbix          #进入zabbix数据库


初始化数据库,导入sql文件,请安装顺序执行:

source /usr/share/zabbix-mysql/schema.sql     

#如果是安装proxy,导入这个sql就可以了,如果是server ,还需要以下的两条sql。


source /usr/share/zabbix-mysql/images.sql

source /usr/share/zabbix-mysql/data.sql


另外还有如下的方法初始化数据库,导入sql文件。


首先需要退出MySQL控制台,执行如下:

mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/schema.sql

mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/images.sql

mysql -uroot -p --default-character-set=utf8  zabbix < /usr/share/zabbix-mysql/data.sql


(5)、编辑zabbix_server配置文件,用于连接数据的帐号和密码

 vim /etc/zabbix/zabbix_server.conf               #编辑配置文件

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

DBPort=3306

(6)、启动zabbix_server的服务,默认监听TCP 10051端口;启动zabbix_agentd 服务,默认监听TCP 10050端口

/etc/init.d/zabbix-server start               

/etc/init.d/zabbix-agentd start


(7)、在网页上安装zabbix,在浏览器上输入:http://ip/zabbix

/etc/init.d/httpd start          #启动apache服务


在浏览器上输入:http://ip/zabbix,安装zabbix。

在页面上安装主要有6个步骤:

1、Welcome                              #欢迎界面

2、Check of pre-requisites          #主要是PHP的配置需求

3、Configure DB connection        #连接数据库

4、Zabbix_server_details               #Zabbix服务器的配置

5、Pre-Installation summary          #配置的安装清单

6、Install                       #安装,生成配置文件: /etc/zabbix/web/zabbix.conf.php。


安装完成,即输入用户名和密码登录。默认是:admin/zabbix。

     

3、客户端安装

1)、Linux客户端的安装

(1)、添加防火墙规则

vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT   #zabbix客户端的端口

:wq          #保存退出


/etc/init.d/iptables restart #最后重启防火墙使配置生效


(2)、关闭SELinux

vim /etc/selinux/config

#SELINUX=enforcing     #注释掉

#SELINUXTYPE=targeted   #注释掉

SELINUX=disabled     #增加

:wq!          #保存退出

setenforce 0 #使配置立即生效,重启系统永久生效


yum install -y  zabbix22-agent          #安装客户端

vim /etc/zabbix/zabbix_agentd.conf        #编辑配置文件,主要是指定监控服务器的地址

Server=192.168.17.10                    #服务器的ip地址

ServerActive=192.168.17.10               #服务器IP地址,这是客户端主动提交数据

Hostname=balich-ha                    #需要唯一的名字

/etc/init.d/zabbix-agentd  start         #启动客户端服务进程,默认监听端口是tcp 10050


可以在监控服务器上使用命令测试服务器与客户机主机是否正常通信(客户机上需要放行TCP 10050端口) ,如:

zabbix_get -s 客户端ip -p10050 -k "system.hostname"


2)、Windows客户端的安装

Windows客户端的下载地址:

解压后,可以将程序存放到C盘的根目录,更改目录名为zabbix_agents,在这个zabbix_agents目录下有两个目录,一个是conf,这里存放的是配置文件;另一个是bin,存放的客户端的运行的进程程序。


首先编辑conf目录下的zabbix_agentd.win.conf配置文件,修改的如下的内容:

Server=192.168.17.10                    #服务器的ip地址

ServerActive=192.168.17.10               #服务器IP地址,这是客户端主动提交数据

Hostname=balich-win7                     #需要唯一的名字

安装zabbix_agentd服务,并启动zabbix_agentd进程,

cd c:\zabbix_agents\bin\win32          

#进入zabbix_agents 可执行程序的目录(根据不同操作系统版本)


c:\zabbix_agents\bin\win32>zabbix_agentd.exe -c "C:\zabbix_agents\conf\zabbix_ag entd.win.conf" -i

zabbix_agentd.exe [11912]: service [Zabbix Agent] installed successfully

zabbix_agentd.exe [11912]: event source [Zabbix Agent] installed successfully


运行——输入【services.msc】,打开 服务 可以看到已经安装了了一个Zabbix Agent的服务。打开它,点击“启动”,启动服务;另外也可以设置为开机自动启动。

参数的说明:

-c:     指定配置文件的位置

-i:     安装

-s:     启动

-x:     停止

-d:     卸载


在监控服务器上使用命令测试服务器与客户机主机是否正常通信,(客户机上需要放行TCP 10050端口)如:

zabbix_get -s 客户端ip -p10050 -k "system.hostname"


4、在监控控制台添加监控主机

刚刚分别在Linux和Windows客户端上都安装了zabbix的客户端程序,需要监控它们,还要在监控的控制台上添加主机


在控制台上点击“Configuration"-->"Hosts"-->点击右上角的"Create host"

在下面有一行的选项分别是:Host、Templates、IPMI、Macros、Host inventory


在“Host"

Host name:写在客户端上的配置文件/etc/zabbix_agentd.conf 里面的Hostname 的名字

Visible name:外部显示的名字,别名

Groups In groups:选择对应的组,可以自定义,也可以直接选择里面的组名。

Agent interfaces:里面的IP address:写客户机(被监控机)IP地址,其他默认


在 "Templates"

Linked templates:表示已经链接的模版

Link new templates:在这里选择需要使用的模版,点击右边的“select”选择,然后在下面点击“add"增加。


其他的选项可以暂时不需要选择,最后点击下面的”Save"保存,这样就添加了一台监控的主机。


“Configuration"-->"Hosts"下

在右边的“Status”下面表示是否在监控;"Avaliability"表示是否可用,如果是绿色表示监控正常,如果是红色会提示错误的信息。



5、查看监控的数据

添加了监控的主机后,可以查看监控的数据

查看cpu、内存、硬盘等的数据:

点击"Monitoring"-->"Latest data"-->在右边“Group”和"Host"选择相应的组和主机。


查看图表数据:

点击"Monitoring"-->"Graphs"-->在右边“Group”和"Host"选择相应的组和主机

到此,已经完成了zabbix的服务器的和客户端的安装,同时也完成了如果添加监控主机和查看相关的数据。



本文转自 巴利奇 51CTO博客,原文链接:http://blog.51cto.com/balich/1717810


相关文章
|
3月前
|
Linux 网络安全 Python
linux centos上安装python3.11.x详细完整教程
这篇文章提供了在CentOS系统上安装Python 3.11.x版本的详细步骤,包括下载、解压、安装依赖、编译配置、解决常见错误以及版本验证。
1211 1
linux centos上安装python3.11.x详细完整教程
|
3月前
|
监控 前端开发 Linux
centos7系统安装部署zabbix5.0
【9月更文挑战第23天】在CentOS 7系统上部署Zabbix 5.0的步骤包括:安装MariaDB数据库及必要软件包,配置Zabbix仓库,设置数据库并导入Zabbix数据库架构,配置Zabbix服务器与前端参数,启动相关服务,并通过浏览器访问Web界面完成安装向导。
178 0
|
2月前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
296 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
93 1
Linux系统之Centos7安装cockpit图形管理界面
|
2月前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
70 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
2月前
|
Linux Docker 容器
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
本篇博客重在讲解Centos安装docker,经博主多次在不同服务器上测试,极其的稳定,尤其是阿里的服务器,一路复制命令畅通无阻。
1130 4
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
|
2月前
|
存储 网络协议 Linux
AWS实操-EC2-创建购买linux(centos)EC2服务器
AWS实操-EC2-创建购买linux(centos)EC2服务器
|
3月前
|
NoSQL Linux Redis
linux之centos安装redis
linux之centos安装redis
|
3月前
|
监控 前端开发 数据库连接
Zabbix 5.0 LTS的web界面安装及修改zabbix web管理员的默认密码
这篇文章是关于如何安装Zabbix 5.0 LTS的web界面以及如何修改Zabbix web管理员默认密码的教程。
181 1
|
3月前
|
Linux Python
Linux之centos安装clinkhouse以及python如何连接
Linux之centos安装clinkhouse以及python如何连接