侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

服务器篇07-搭建zabbix监控

2023-11-14 星期二 / 0 评论 / 0 点赞 / 42 阅读 / 15399 字

基础环境:LNMP或LAMP(此文档以LNMP为例) **********************************************************************

 

基础环境:LNMP或LAMP(此文档以LNMP为例)

 

.

**********************************************************************

                                百度网盘文件下载                            

            链接:http://pan.baidu.com/s/1cMVF5c 密码:kl2f

**********************************************************************

.

 

:先要关闭防火墙和selinux,客户端也需要关闭,避免出现 Connection refused 错误

 

安装前准备

创建zabbix数据库和授权用户

[root@localhost ~]# mysql -u root -p

Enter password: 

mysql> create database zabbix default charset utf8;新建数据库zabbix使用UTF-8编码mysql>CREATE USER 'zabbix'@'host' IDENTIFIED BY '123456';新建账户zabbix,密码123456mysql> grant all on zabbix.* to 'zabbix'@'%' identified by '123456' with grant option; 允许账户zabbix从任何主机连接到数据库zabbixmysql> FLUSH PRIVILEGES;刷新系统授权表mysql> exit

 

导入数据库文件写入顺序不能错

 

找到下载的zabbix服务端

tar -zxvf zabbix-3.0.3.tar.gzcd zabbix-3.0.3/database/mysql//usr/bin/mysql -uzabbix -p123456 zabbix < schema.sql /usr/bin/mysql -uzabbix -p123456 zabbix < images.sql /usr/bin/mysql -uzabbix -p123456 zabbix < data.sql 

 

yum -y install gcc gcc-c++ glibc automake autoconf libtool make

安装相应的编译组件

 

安装Zabbix

yum -y install mysql-devel libxml2-devel net-snmp-devel libcurl-devel

编译安装zabbix

cd zabbix-3.0.3./configure --prefix=/usr/local/zabbix-server --enable-server --with-mysql --with-net-snmp  --with-libxml2 make && make install

创建zabbix管理用户

useradd zabbix

编辑配置文件并启动

vim /usr/local/zabbix-server/etc/zabbix_server.conf
.

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=123456

ListenIP=127.0.0.1

DBSocket=/tmp/mysql.sock

.

启用服务并加入到开启自启行列

/usr/local/zabbix-server/sbin/zabbix_server -c /usr/local/zabbix-server/etc/zabbix_server.conf  

vim /etc/rc.local添加命令

修改PHP.ini配置文件

.

date.timezone = Asia/Shanghai

post_max_size = 16M

max_execution_time = 300

max_input_time = 300

extension=bcmath.so

.

拷贝/zabbix-3.0.3/frontends/php/*下所有zabbix页面文件到需要用的站点目录并给予读取权限和配置

---------------------------------------------------------------------------------------

若提示缺少bcmath模块

进入模块目录cd /php-7.0.7/ext/bcmath   执行/usr/local/php/bin/phpize 生成扩展安装文件

指定安装路径执行编译

./configure --with-php-config=/usr/local/php/bin/php-configmake && make install

再重启php服务即可

---------------------------------------------------------------------------------------

 

填写数据库配置信息登录,如果用localhost的话不能连接到数据库,要改下配置文件

填写服务器细节摘要

信息摘要汇总

 

提示无法创建zabbix配置文件,说明PHP目录没有写入权限,也可分配权限,也可手动下载更改文件所属和执行权限

 

 

至此Zabbix已经顺利安装完成

 

 

默认登录用户名admin密码zabbix

 

-------------------------------------------------------------------------------------------------

中文乱码解决方法

 

1.从windows下控制面板->时钟、语言和区域->语言->字体->选择一种中文字库例如“楷体”

2.把它拷贝到zabbix的web端的fonts目录下例如:/var/www/html/zabbix/fonts,并且把TTF后缀改为ttf

 

方法一:

直接把你的文件命名成DejaVuSans.ttf替换成原来的文件

 

方法二:

修改zabbix的web端/include/defines.inc.php

.
  • //define('ZBX_FONT_NAME', 'DejaVuSans');
  • define('ZBX_FONT_NAME', 'SIMKAI');
  •  
  • //define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name
  • define('ZBX_GRAPH_FONT_NAME', 'SIMKAI'); // font file name
  • 其中SIMKAI为字库名字,不包含ttf后缀,替换为你下载的楷体文件名即可
.

-------------------------------------------------------------------------------------------------#################################################################

监控项添加方法

 

监控服务器:

Windows安装

 

1. 新建目录文件夹,如:在D盘中建立zabbix3.0文件夹   把zabbix_agents_3.0.0.win.zip文件解压至此

2. 在这个目录下建立一个txt改名zabbix_agentd.log

3. 编辑conf 目录下zabbix_agentd.win.conf 则这个文件内容修改以下项 

LogFile=D:/zabbix3.0/zabbix_agentd.logServer=『ServerIP』Hostname=『Hostname』

4. CMD命令进入目录   zabbix3.0/Agent/bin  #根据系统位数进入相应目录(win32或win64;可在“控制面板/所有控制面板项/系统”中查看“系统类型”)

执行:

zabbix_agentd.exe –c D:/zabbix3.0/conf/zabbix_agentd.win.conf –i
.

-c    :指定配置文件所有位置

-i     :安装客户端

-s    :启动客户端

-x    :停止客户端

-d    :卸载客户端 

.

Linux安装

 

rpm -ivh zabbix-agent-3.0.3-1.el6.x86_64.rpm

如遇到一下依赖错误:

yum -y install unixODBC 

安装依赖服务即可

 

vi /etc/zabbix/zabbix_agentd.conf

修改客户端配置文件设置客户端

.

Server=对应的zabbix服务器IP

ServerActive=对应的zabbix服务器IP

Hostname=对应的zabbix服务器名称

.
service zabbix-agent startchkconfig zabbix-agent on

启用服务并加入开机自启

service zabbix-agent status

确认服务已经正常运行,若没有,关闭selinux和防火墙

 

 

#################################################################

 

Zabbix添加监控项:

1.新增自定义名称mytest主机,agent代理程序的接口写入客户端IP地址,并加入 Linux servers群组

2.选择默认模版Template OS Linux打开,加入mytest主机和 Linux servers群组保存

3.选择模版中的图形创建图形,选择群组主机,添加监控项确定

注:本次使用Template OS Linux模版是示例测试使用,可根据自身需求选择模版或者自建模版

 

监控交换机等SNMP设备:

1.新建群组-新建主机群组,便于分类和添加主机、模版加入群组。

2.新建主机,SNMP接口输入IP地址和访问用户,这里使用public

3.使用系统自带Template SNMP Device名称的模版,把需要监控的群组、主机加入模版

4.点击模版创建图形,根据需求选择图形样式,添加Template SNMP Device: Number of network interfaces监控项点击更新

5.选择Number of network interfaces监控项修改端口为161,修改数据更新间隔时间,大概等待1到5分钟,即可扫描出主机

 

 

#################################################################

 

 

 

邮件设置报警

 

一.使用sendEmail报警发送外部警报邮箱{是sendEmail不是sendmail,sendmail很多时候会发不出去}

tar -zxvf sendEmail-v1.56.tar.gzcp sendEmail-v1.56/sendEmail /usr/local/bin/chmod -R 755 /usr/local/bin/sendEmailchown -R zabbix.zabbix /usr/local/bin/sendEmail

解压拷贝服务文件并给予执行权限

二.zabbix服务器端发送邮件脚本

 

    1.创建发送邮件脚本

vim /usr/local/zabbix-server/share/zabbix/alertscripts/SendEmail.sh
# Description: zabbix邮件告警脚本# Notes:       使用sendEmail# 脚本的日志文件LOGFILE="/tmp/Email.log" > "$LOGFILE"exec1>"$LOGFILE"exec2>&1SMTP_server='smtp.exmail.qq.com'# SMTP服务器,变量值需要自行修改username='[email protected]'# 用户名,变量值需要自行修改from_email_address='[email protected]'# 发件人Email地址,变量值需要自行修改password='123456'# 密码,变量值需要自行修改to_email_address="$1"# 收件人Email地址,zabbix传入的第一个参数message_subject_utf8="$2"# 邮件标题,zabbix传入的第二个参数message_body_utf8="$3"# 邮件内容,zabbix传入的第三个参数# 转换邮件标题为GB2312,解决邮件标题含有中文,收到邮件显示乱码的问题。message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF$message_subject_utf8EOF`[ $? -eq 0 ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8"# 转换邮件内容为GB2312,解决收到邮件内容乱码message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF$message_body_utf8EOF`[ $? -eq 0 ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8"# 发送邮件sendEmail='/usr/local/sbin/sendEmail'set -x############   邮件参数使用说明   ########       -s      设置发件人邮箱SNTP服务器##       -xu     设置发件人邮箱用户名    ##       -f      设置发件人邮箱地址      ##       -xp     设置发件人邮箱密码      ##       -t      设置接受人邮箱地址      ##       -u      设置发送的邮件主题      ##       -m      设置发送的邮件内容      ##########################################"$sendEmail" -s "$SMTP_server" -xu "$username" -f "$from_email_address" -xp "$password" -t "$1" -u "$2"  -m "$3" -o message-content-type=text -o message-charset=utf8echo"$1$2$3" >>/tmp/sendemil.log-$(date +%F)


 2.然后执行下面的命令,设置脚本和日志文件权限:

touch /tmp/Email.logchown zabbix.zabbix /tmp/Email.logchown zabbix.zabbix /usr/local/zabbix-server/share/zabbix/alertscripts/SendEmail.shchmod +x /usr/local/zabbix-server/share/zabbix/alertscripts/SendEmail.sh

3.测试发送邮件    

/usr/local/zabbix-server/share/zabbix/alertscripts/SendEmail.sh [email protected] "test" "this is test"

设计报警媒介并添加以下3个参数

{ALERT.SENDTO}                          收件人地址{ALERT.SUBJECT}                         邮件主题{ALERT.MESSAGE}                         邮件内容

打开配置---动作--写入报警信息

.

名称:Report problems to Zabbix

收件人邮件主题:{TRIGGER.STATUS}: {TRIGGER.NAME}: {HOST.NAME}

默认信息:

告警主机:{HOST.NAME}

主机IP:  {HOST.IP}

告警时间:{EVENT.DATE}  {EVENT.TIME} 

告警等级:{TRIGGER.SEVERITY} 

告警信息:{TRIGGER.NAME}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

事件ID:  {EVENT.ID}

.

 

打开 管理---用户---报警媒介---添加对应报警接收邮箱更新即可

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~END~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

 

 

 

广告 广告

评论区