【Linux】zabbix4.0服务器搭建,agent搭建,及邮件使用方法
zabbix默认的 服务端监听端口为10051,而被监控端即Zabbix——agents代理程序监控10050端口。
更新yum源:
yum clean all
yum makecache
需要配置网络yum源,我这配置的是阿里的
CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
安装阿里的yum源后:
安装数据库,apahce,php和php-mysql
yum install httpd php php-mysql mariadb mariadb-server -y
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm
yum -y install zabbix-server-mysql zabbix-web-mysql
三、安装LAMP服务:
1、安装mysql
从最新版本的Linux系统开始,默认的数据库是Mariadb,不是mysql
在此使用系统自带的 Mariadb数据,使用repos安装,比较简单
(1)使用yum源安装Mariadb数据库:
yum install -y mariadb mariadb-server
(2)启动mariadb,以前的服务管理命令还可以用,(例如:service mariadb start)
systemctl start mariadb
ps -ef | grep mariadb
(3)设置开机自启动
systemctl enable mariad
(4)安全初始化,设置root密码等:
mysql_secure_installation



(5)测试登录数据库:
mysql -uroot -p123456
(6)配置MariaDB的字符集
vim /etc/my.cnf
在[mysqld]标签下添加:
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
vim /etc/my.cnf.d/client.cnf
在[client]中添加
default-character-set=utf8
vim /etc/my.cnf.d/mysql-clients.cnf
在[mysql]中添加
default-character-set=utf8
全部配置完成,重启Mariadb
systemctl restart mariadb
2、安装Apache软件:
(1)使用yum源安装Apache软件:
yum -y install httpd
(2)启动httpd服务
systemctl start httpd.service
(3)添加开机自启动服务
systemctl enable httpd
(4)查看服务状态:
systemctl status httpd.service
3、安装PHP服务
(1)yum源安装PHP服务
yum -y install php
(2)安装php-mysql:
php-mysql是一个用于让PHP程序使用MYSQL数据库的模块。需要安装改模块,使用命令:
yum -y install php-mysql
(3)重启httpd服务
systemctl restart httpd
ps aux | grep httpd
(4)测试Apache能够调用PHP
安装完成后,PHP会生成配置文件/etc/httpd/conf.d/php.conf,因为该配置文件在/etc/httpd/conf.d目录下,所以它会被Apache所读取。PHP还会生成配置文件/etc/httpd/conf.modules.d/10-php.conf,该配置文件也会被Apache所读取,它的设定让Apache可以加载PHP模块。不过,PHP软件本身的配置文件其实是/etc/php.ini。
可以测试: 为了测试Apache能不能正常调用PHP,在/var/www/html目录下新建一个phpinfo.php文档,内容如下所示:
<?php phpinfo (); ?> //其中的<?php ?>是PHP程序的语法,phpinfo ();则是PHP程序提供的一个函式库
cd /etc/www/html
vim phpinfo.php

浏览器访问:

四、安装Zabbix
1、zabbix 安装包下载地址:
https://www.zabbix.com/download_sources
2、官方文档说明:
https://www.zabbix.com/documentation/3.4/manual/installation/install_from_package
3、导入软件安装源:
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm
4、安装zabbix包:
yum -y install zabbix-server-mysql zabbix-web-mysql
5、给zabbix服务端安装上客服端服务 # #如果代理服务器不是本机的话,这步不用做,后续还有安装agent教程
yum -y install zabbix-agent
6、初始化数据库
#创建数据库;
mysql -uroot -p123456
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
7、数据库配置
进入到这个目录:
cd /usr/share/doc/zabbix-server-mysql-4.0.0/
运行命令:
zcat create.sql.gz | mysql -uroot -p zabbix (输入数据库的密码) 如果-u后面是root就输入root的密码,如果是zabbix的话,就输入zabbix的密码
8、启动zabbix server服务
编辑 /etc/zabbix/zabbix_server.conf 修改server的配置文件
38:LogFile=/var/log/zabbix/zabbix_server.log
49:LogFileSize=0
72:PidFile=/var/run/zabbix/zabbix_server.pid
82:SocketDir=/var/run/zabbix
101:DBName=zabbix //访问数据库名称
117:DBUser=zabbix //zabbix访问数据库用户
125:DBPassword=admin123 //配置文件中只需修改本行,zabbix访问数据库密码
347:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
465:Timeout=4
507:AlertScriptsPath=/usr/lib/zabbix/alertscripts
517:ExternalScripts=/usr/lib/zabbix/externalscripts
553:LogSlowQueries=3000
启动zabbix服务,设置开机自启动
systemctl start zabbix-server
systemctl enable zabbix-server
9、编辑zabbix前端的PHP配置
vi /etc/httpd/conf.d/zabbix.conf
上面的时区是注释的,需要取消注释
10、设置时钟同步
安装ntpdate服务:
yum -y install ntp
配置ntp配置文件
vim /etc/ntp.conf
ntpdate cn.pool.ntp.org
11、启动Apache服务
systemctl start httpd
systemctl enable httpd
为防止web界面中文乱码现象,需要将相应字体文件复制,使zabbix识别
cp STKAITI.TTF /usr/share/zabbix/fonts/
使zabbix系统识别字体
vim /usr/share/zabbix/include/defines.inc.php
:%s /graphfont/kaiti/g //采用全局替换模式
zabbix基本配置完成,启动服务,实现web界面安装
systemctl enable zabbix-server
systemctl start zabbix-server
netstat -anpt | grep zabbix //监听在10051端口上
systemctl restart httpd.service
五、网页登录zabbix进行配置
1、使用浏览器,输入IP地址,登录zabbix
http://192.168.40.134/zabbix/setup.php 如果没有反应,重新zabbix,http,再次输入网址尝试

2、点击下一步,然后检测配置是否正确:

这里如果显示时区问题,去vi /etc/httpd/conf.d/zabbix.conf修改
3、然后点击下一步,配置数据库连接:
用户名:zabbix 密码:zabbix

4、然后点击下一步,设置zabbix-server地址和端口:

5、查看已配置的信息:

6、zabbix服务安装成功,点击完成:

7、 显示登录界面(默认用户名:Admin 默认密码:zabbix):

六、zabbix语言设置
1、将语言改为中文
vim /usr/share/zabbix/include/locales.inc.php
找到第56行,将false改为true,zabbix 3.4版本以后的 默认支持中文的

Win+R打开运行窗口,输入fonts,回车进入window系统的字体目录,然后找到 微软雅黑-常规字体,复制出来将其文件名修改为msyh.ttf,然后上传到/usr/share/zabbix/fonts
cd /usr/share/zabbix/fonts/
ls

上传成功后,编辑文件
vim /usr/share/zabbix/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME', 'graphfont'); 改为:define('ZBX_GRAPH_FONT_NAME', 'msyh');
define('ZBX_FONT_NAME', 'graphfont'); 改为:define('ZBX_FONT_NAME', 'msyh');
编辑完成后,保存退出,然后刷新网页。
七、zabbix基本设置
1、页面设置成中文:
点击usr按钮,然后设置为中文界面:

更改背景为黑色;

设置完成后,zabbix3.4版本后,显示能够显示整个屏幕

2、新版本的zabbix,能够对仪表盘进行编辑,对各个模块进行编辑:

zabbix-agent操作:
1.安装agent
centos7:
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm
centos6:
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/6/x86_64/zabbix-release-3.5-1.el6.noarch.rpm
下载完执行
yum clean all
yum makecache
2.编辑代理配置文件
vim /etc/zabbix/zabbix_agentd.conf
13:PidFile=/var/run/zabbix/zabbix_agentd.pid
32:LogFile=/var/log/zabbix/zabbix_agentd.log
43:LogFileSize=0
98:Server=192.168.144.113 //zabbix服务器地址
139:ServerActive=192.168.144.113 //活跃服务器地址
150:Hostname=test
268:Include=/etc/zabbix/zabbix_agentd.d/*.conf
编写/etc/hosts文件,将zabbix的主机和主机名写入到hosts文件中
3.web管理界面添加被管理主机





配置邮箱报警功能
1、配置自动邮箱发送
yum install mailx -y
vim /etc/mail.rc 编辑mailx配置文件
set from=377909726@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=377909726@qq.com
set smtp-auth-password=邮箱密码
set smtp-auth=login

测试邮箱软件是否可用
echo "hello world" | mail -s "testmail" 377909726@qq.com //测试发信正常
2、编写邮件发送脚本
邮件发送触发脚本一定要写在zabbix指定的alterscripts目录下,后面直接指定脚本名称即可触发。
vim /usr/lib/zabbix/alertscripts
#!/bin/bash#send mail
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1
touch /tmp/mailx.log
chown -R zabbix.zabbix /tmp/mailx.log
chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
chown -R zabbix.zabbix /usr/lib/zabbix/
测试发邮件脚本是否可以正常工作
./mailx.sh 377909726@qq.com "主题" "内容"
3、配置服务监控自动触发邮件发送脚本




告警主机:{HOST.NAME}
告警IP:{HOST.IP}
告警时间:{EVENT.DATE}-{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}:{ITEM.VALUE}
时间_ID:{EVENT_ID}


4、在被监控主机模拟故障
关闭被监控主机的httpd服务,验证邮箱接收情况。


这篇文章总结了几位大牛的文章,但是网页被我关掉了,如果有大牛看到的话,请及时联系我,我在文末加上批注来源。多谢大牛分享经验
【Linux】zabbix4.0服务器搭建,agent搭建,及邮件使用方法的更多相关文章
- linux Cenos-7.0下安装jdk搭建环境变量
搭建linux系统的java环境本人目前所知有两种方式: 第一种是从oracle官网下载linux系统的jdk版本: 第二种是使用yum命令的方式下载安装,咱们今天讲的是第一种方式. 一.工具准备: ...
- zabbix4.0离线快速编译安装(编译安装方法)
本博客已整理更新至第二版.更新与2019.4.17 其实这个主要是想试一下离线编译安装的具体步骤,记得要配置好本地yum云,因为我们需要使用yum,yum能帮我们自动解决很多依赖问题.发现最主要的问题 ...
- Linux下DNS服务器的基本搭建
技术交流群:286866978 安装与配置 1. 装载光驱 2. 卸载光驱 3. 将安装包放在合适的文件夹并解压(有的更换光盘需要重新装载) 4. 安装 5. 重定向配置文件 6. 配置named.c ...
- 【JBoss】Linux下JBoss服务器"Too many open files"的解决方法
linux中,每个socket连接都使用文件描述符进行标识,文件描述符属于系统资源,存在使用上的限制:缺省情况下JBoss能使用的最大描述符数是系统默认的最大文件描述符数(通过命令ulimit -H ...
- Linux下dns服务器搭建
Linux下dns服务器搭建1-环境Red Hat Enterprise Linux Server release 6.7 (Santiago)2-配置本地yum源安装dns相关包yum -y ins ...
- Unix/Linux环境C编程入门教程(19)Red Hat Entetprise Linux 7.0环境搭建
位架构,包括英特尔X-86_64.Power和s390.动态定时能力将降低内核内部中断数量,Open vSwitch 2.0功能可调节虚拟机之间的流量.RHEL 7中默认的文件系统是XFS,包含了一个 ...
- Linux下服务器环境的搭建和配置之一——Apache篇
最近一个多月(2016-06-20开始至今),一直在忙海外广告平台FAQ系统的开发,既要负责服务器环境的搭建,又要写前端,还要写后台和数据库,甚至还要考虑产品需求和设计.所以是一个很大的挑战,对自身也 ...
- Linux - CentOS6.5服务器搭建与初始化配置详解(下)
传送带:Linux - CentOS6.5服务器搭建与初始化配置详解(上) 继续接着上面的安装,安装完后会出现下面界面 点击reboot重启 重启后可以看到下面的tty终端界面 因为这就是最小化安装 ...
- Linux下SVN服务器搭建配置
Linux下SVN服务器搭建配置 1.SVN服务安装 yum install subversion 2.创建SVN代码仓库 mkdir /data/svn svnadmin create /data/ ...
随机推荐
- Linux修改系统时间为东八区北京时间(上海时间)
1. Linux时间 Linux的时间分为 System Clock(系统时间)和 Real Time Clock(硬件时间,简称RTC). 系统时间:指系统内核中的时间. 硬件时间:指主 ...
- 【面试专栏】Java并发编程:volatile关键字
1. 内存模型 若一个变量在多线程环境下同时操作,则可能出现结果不一致的情况.这就是常说的缓存不一致性问题. 解决缓存不一致问题,通常有两个解决方案: 通过在总线加LOCK#锁的方式 因为CPU和其 ...
- 如何自定义Kubernetes资源
目前最流行的微服务架构非Springboot+Kubernetes+Istio莫属, 然而随着越来越多的微服务被拆分出来, 不但Deploy过程boilerplate的配置越来越多, 且繁琐易错, 维 ...
- java中对象的简单解读
对象=属性(int double之类都是变量的属性)+方法(想要实现内容,所做的一套算法) 属性=变量的所有数据 方法(c语言中叫做函数)=算法 总而言之 对象就是 给他所需要的的数据-->& ...
- x64架构下Linux系统函数调用
原文链接:https://blog.fanscore.cn/p/27/ 一. 函数调用相关指令 关于栈可以看下我之前的这篇文章x86 CPU与IA-32架构 在开始函数调用约定之前我们需要先了解一下几 ...
- 阿里不允许使用 Executors 创建线程池!那怎么使用,怎么监控?
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 五常大米好吃! 哈哈哈,是不你总买五常大米,其实五常和榆树是挨着的,榆树大米也好吃, ...
- SpringBoot执行原理
目录 [Toc] 一.执行原理: 每个Spring Boot项目都有一个主程序启动类,在主程序启动类中有一个启动项目的main()方法, 在该方法中通过执行SpringApplication.run( ...
- python之列表操作的几个函数
Python中的列表是可变的,这是它却别于元组和字符串最重要的特点,元组和字符串的元素不可修改.列举一些常用的列表操作的函数和方法. 1,list.append(x),将x追加到列表list末尾: 1 ...
- Mysql实现定时清空一张表的旧数据并保留几条数据
要达到如下目的: Mysql数据库会每隔一段时间(可以是2小时,也可以是一天,这个可以自定义),定时对一张库中的表做一个判断,如果这张表的数据超过了20条(这个数据也是自定义的,也可以是200条),就 ...
- NET 5 依赖注入多个服务实现类
依赖注入在 ASP.NET Core 中起中很重要的作用,也是一种高大上的编程思想,它的总体原则就是:俺要啥,你就给俺送啥过来. 服务类型的实例转由容器自动管理,无需我们在代码中显式处理. 因此,有了 ...