本文章将演示zabbix 3.2版本的安装,供有需要的伙伴们参考:

网络也有很多关于zabbix的安装文档,甚至每一步的配置都有详细的截图,我这里就不演示截图了,多配置几次自然就熟练了。多折腾。

楼主也是安装过很多次,也安装过很多版本,每次都会遇到一点问题,还不一样,都可以通过网络上搜索解决。

--环境准备

[root@mysqlhq ~]# cat /etc/issue
\nKylin 3.3
Kernel \r on an \m
\KRelease (Trial)

# yum -y install lrzsz
# groupadd zabbix
# useradd -d /home/zabbix -g zabbix -m zabbix
# passwd zabbix

--安装相关依赖包

# yum -y install wget unzip libxml2 libxml2-devel httpd php php-mysql php-common php-mbstring php-gd php-odbc \
php-pear curl curl-devel net-snmp net-snmp-devel perl-DBI php-xml ntpdate php-bcmath zlib-devel glibc-devel \
curl-devel gcc automake libidn-devel openssl-devel net-snmp-devel rpm-devel OpenIPMI-devel

# tar zxvf zabbix-3.2.7.tar.gz

# cd zabbix-3.2.7

# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libxml2 --with-libcurl #安装server

# ./configure --prefix=/usr/local/zabbix --enable-agent #安装agent

# make && make install

--可能会遇到一些错误,都可以在网络上进行搜索解决

--configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config
yum install -y net-snmp-devel

--configure: error: no acceptable C compiler found in $PATH
--yum install -y gcc

--server mysql的配置

mysql> create database zabbix default character set utf8;

mysql> grant all privileges on *.* to 'zabbix'@'127.0.0.1' identified by 'zabbix';
mysql> use zabbix;
mysql> source /data/soft/zabbix-3.2.7/database/mysql/schema.sql
mysql> source /data/soft/zabbix-3.2.7/database/mysql/images.sql
mysql> source /data/soft/zabbix-3.2.7/database/mysql/data.sql

--zabbix的zabbix_server.conf和zabbix_agentd.conf 文件

[root@mysqlhq ~]# cat /usr/local/zabbix/etc/zabbix_server.conf | grep -v '^#' | grep -v '^$'
LogFile=/tmp/zabbix_server.log
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/home/data/mysqldata/3306/mysqld.sock
DBPort=3306
Timeout=4
LogSlowQueries=3000

[root@mysqlhq ~]# cat /usr/local/zabbix/etc/zabbix_agentd.conf | grep -v '^#' | grep -v '^$'
LogFile=/tmp/zabbix_agentd.log
Server=192.168.19.145
StartAgents=5
ServerActive=192.168.19.145
Hostname=mysqlhq
UnsafeUserParameters=1
UserParameter=mysql.ping,/usr/bin/mysqladmin -uzabbix -pzabbix -h127.0.0.1 -P3306 2>/dev/null ping|grep alive|wc -l
UserParameter=mysql.status[*],/usr/bin/mysql -h 127.0.0.1 -P3306 -uzabbix -p'zabbix' -N -e "show global status where Variable_name='$1'" 2>/dev/null | cut -f2
UserParameter=mysql_variable_status[*],/usr/bin/mysql -h 127.0.0.1 -P3306 -uzabbix -p'zabbix' -N -e "show variables where Variable_name='$1'" 2>/dev/null | cut -f2
UserParameter=mysql.version,/usr/bin/mysql -V
UserParameter=mysql.mysql_process_status,sh /usr/local/zabbix/lib/alertscripts/check_mysql_status_3306.sh

--zabbix一些php,apach的设置

cd /data/soft/zabbix-3.2.7/frontends
mkdir /var/www/html/zabbix/
cp -r php/* /var/www/html/zabbix/
vim /etc/httpd/conf/httpd.conf
ServerName 192.168.19.145:80
# cp /etc/php.ini /etc/php.ini.bk
# sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /etc/php.ini
---sed -i 'date.timezone =/a\date.timezone = Asia/Shanghai' /etc/php.ini
# sed -i '/max_input_time =/s/60/300/' /etc/php.ini
# sed -i '/mbstring.func_overload = 0/a\mbstring.func_overload = 1' /etc/php.ini
# sed -i '/post_max_size =/s/8M/32M/' /etc/php.ini
# sed -i "s@;date.timezone =@date.timezone = Asia/Shanghai@g" /etc/php.ini
–PHP option "always_populate_raw_post_data" must be set to "-1"
# vim /etc/ld.so.conf
/usr/local/mysql/lib
/sbin/ldconfig
# ldconfig
php -v
[root@mysqlt1 yum.repos.d]# rpm -qa|grep php
php56w-pdo-5.6.37-1.w6.x86_64
php56w-ldap-5.6.37-1.w6.x86_64
php56w-xml-5.6.37-1.w6.x86_64
php56w-bcmath-5.6.37-1.w6.x86_64
php56w-mysql-5.6.37-1.w6.x86_64
php56w-cli-5.6.37-1.w6.x86_64
php56w-5.6.37-1.w6.x86_64
php56w-gd-5.6.37-1.w6.x86_64
php56w-common-5.6.37-1.w6.x86_64
php56w-mbstring-5.6.37-1.w6.x86_64

--关于php的版本问题:

# yum list installed | grep php
# yum list | grep php;

# yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 \
php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64

#yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 \
php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64

rpm -ivh http://repo.webtatic.com/yum/el6/latest.rpm
# rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

# yum install -y php56w php56w-gd php56w-mysql php56w-bcmath php56w-mbstring php56w-xml php56w-ldap

[root@mysqlhq ~]# /usr/local/zabbix/sbin/zabbix_server --version
zabbix_server (Zabbix) 3.2.7
Revision 70298 18 July 2017, compilation time: Sep 19 2018 10:48:27

#  chown -R zabbix.zabbix /usr/local/zabbix/
# chown -R apache:apache /var/www/html/zabbix/
#  rpm -qa|grep httpd
# service httpd start

# chkconfig --add httpd
# chkconfig --list httpd

# netstat -lnp |grep zabbix
#  ps -ef|grep zabbix
#  /usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf #启动zabbix server
#  /usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf #启动zabbix agent

--开启启动

# vim /etc/rc.local
sudo -i -u mysql /data/mysqldata/scripts/mysql_db_startup.sh 3306> /home/mysql/mysql_db_startup.log 2>&1
/usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf
/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf
Sudo命令如果遇到错误
Sudo:sorry,you must have a tty to ruan sudo
[root@localhost scripts]# vim /etc/sudoers
56 #Defaults requiretty –注释掉

--zabbix 中文配置

1、确认zabbix是否开启了中文支持功能(/var/www/html/zabbix/include/locales.inc.php)
vim /var/www/html/zabbix/include/locales.inc.php
###'zh_CN' => ['name' => _('Chinese (zh_CN)'), 'display' => true]
2 登录zabbix后,设置用户profile,设置语言为中文,然后点击Update
3 其他也乱码
--这个问题是zabbix web端没有中文库导致
从window-->控制面板-->字体-->选择一种中文字库例如“楷体”,将其拷贝到zabbix服务器上即可
将我们选择的字体文件上传到zabbix web服务,/var/www/html/zabbix/fonts目录下
修改此/var/www/html/zabbix/include/defines.inc.php文件中字体的配置,将里面关于字体设置从DejaVuSans替换成stsong
vim /var/www/html/zabbix/include/defines.inc.php
:%s/DejaVuSans/stsong/g

--Zabbix server 基本配置

-----create hosts
Zabbix server 服务自带
hostname=Zabbix server
groups in groups =Zabbix servers
ip address=10.0.1.134
port=10050
-----create Templates/MySql_check_alive/check_mysql_slave2_status
template name=MySql_check_alive
groups in groups=Zabbix servers
----create application
group=Zabbix servers
host=Zabbix server
name=MySql_check_alive
----create Items/名字就是.cnf中的UserParameter=mysql.check_mysql_slave_status
name=mysql.mysql_process_status
type=zabbix agent
key=mysql.mysql_process_status
applications =MySql_check_alive

----create trigger
name=mysql.mysql_process_status
expression={Zabbix server:mysql.check_mysql_status.last()}=1
--{check_mysql_slave2_status:mysql.check_mysql_slave_status.last()}=1

-----create Templates
template name=MySql_check_alive
groups in groups=mysqltest
hosts/template in=192.168.1.112
----create application/host=MySql_check_alive
name=MySql_check_alive
----create Items
name=mysql.mysql_process_status
mysql.check_mysql_status
type=zabbix agent
key=mysql.mysql_process_status
applications =my3306_check_status

----create trigger
name=mysql.mysql_process_status on {HOST.NAME}
expression={MySql_check_alive:mysql.mysql_process_status.last(0)}=1

{192.168.1.113:mysql.mysql_process_status.last()}=1
---expression= SELECT 10.0.1.135: mysql.check_mysql_status
---Previous value is =NO
---N=1
----create Screens
点击configuration--screen--create screen

serverity=high
----create Graphs
name=mysql.mysql_process_status
items=MySql_check_alive: mysql.mysql_process_status

zabbix的告警流程
host goups(设备组)--hosts(设备)--applications(监控项组)--
items(监控项)--triggers(触发器)--actions(告警动作)--medias(
告警方式)--user groups(用户组)--users(用户)
1 trigger
configureation--host/template--triggers--create trigger on {HOST.NAME}
2 actions
configureation--actions
--event source-create action
--action--name=send_email_to_user
--recovery message=1
--enabled=1
--conditions--type of calculation= and/or
--conditions=host group/trigger name
--trigger value=problem 任何问题都会发送消息
--maintenance status=not in maintenance在维护时间段内将不发送消息
--operations--send message
--send to user groups =dba
--send to users=txyyhq
--send only to=sendmail
Default operation step duration 为60秒
Steps 为3,表示触发3次动作 1-5-1200
Send to User groups 选择Zabbix administrators
Send to Users 选择 Admin (Zabbix Administrator)
Send only to 选择 sendmail.sh
--recovery operation

3 media Administration-> Media types -> Create mediatype ->
--administration--media type
--create media type
--name=sendmail
--type=script
--script name=sendemail.sh
--Script parameters----3.2 需要自己添加3个参数,
{ALERT.SENDTO}收件人地址
{ALERT.SUBJECT}主题
{ALERT.MESSAGE}详细内容
在users里面添加,Administration –> Users-> Create user -> Media ->Add

--administration--user--create user
4 events
--monitoring--events
--administration--audit

vim /usr/local/zabbix/lib/alertscripts/sendemail.sh $1 $2 $3 ###3个参数
./sendemail.sh yhq1314@163.com 1111 hello
$1 收件人 user--media中的send to
$2 为actions中配置的默认主题
$3 为actions中默认的配置消息
##monitoring--triggers 看已发生故障
##查看日志administration--audit--actions
---Admin (Zabbix Administrator) sendmail Sent
[zabbix@hqmysql1 alertscripts]$ ./sendemail.sh yhq1314@163.com 1111 hellotest
Jul 19 01:56:24 hqmysql1 sendEmail[3551]: ERROR => Connection attempt to smtp.163.com:25 failed: IO::Socket::INET: Bad hostname 'smtp.163.com'

zabbix 在linux上安装以及一些配置的更多相关文章

  1. 如何简单的在linux上安装jdk并配置环境变量

    这篇文章是为了给我一会自己安装的时候方便使用的,所以内容很简单,平时在wendows系统上安装很容易,但是换到linux系统上面就蒙圈了. 一.下载jdk文件 我这提供的是官方的地址:http://w ...

  2. linux上安装配置samba服务器

    linux上安装配置samba服务器 在linux上安装配置samba服务器 在这给大家介绍一个不错的家伙,samba服务.如果您正在犯愁,如何在Windows和Linux之间实现资源共享,就请看看这 ...

  3. redis3.0.5在linux上安装与配置

    redis3.0.5在linux上安装与配置 rhel6/ubuntu14 1 下载 # wget http://download.redis.io/releases/redis-3.0.5.tar. ...

  4. Linux上安装jdk1.8和配置环境变量

    前言 Linux 上安装jdk1.8 和配置环境变量,参考相关文档,本人在此总结,操作归纳如下. 第一步:创建jdk安装目录(该/usr/local/src 目录是空的,最好把我们自己下载的放到这,容 ...

  5. Linux上安装配置Keepalived

    Linux上安装配置Keepalived 1.下载 自行去Keepalived官网进行下载,也可以通过如下链接进行下载2.0.18版本(目前的稳定版) 链接:https://pan.baidu.com ...

  6. 【转】linux 编译安装nginx,配置自启动脚本

    linux 编译安装nginx,配置自启动脚本 本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装ng ...

  7. 在Linux上安装Oracle RAC 12 c(12.1) 虚拟机,一步一步向导

    Oracle RAC 12 c(12.1)在Linux上安装虚拟机,一步一步向导 今天我们将看到如何安装 12 c版本1 RAC(真正的应用程序集群)数据库2 Linux 64位的虚拟机 使用VMWa ...

  8. WINDOWS和Linux上安装php7 alpha 并安装 yaf

    WINDOWS和Linux上安装php7 alpha 并安装 yaf PHP技术  widuu  2个月前 (06-15)  126浏览  0评论 windows 1.windows上安装 php7 ...

  9. linux 编译安装nginx,配置自启动脚本

    本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装nginx,记录下安装过程: 参照这篇文章:Linu ...

随机推荐

  1. Android中获取资源的id和url方法总结

    一,获取android工程里面的各种资源的id; 1.1 string型 比如下面: << string name=”OK”>> 客户端请求成功 << / stri ...

  2. scala LocalDateTime String 转换

    DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");LocalDateTime ti ...

  3. spring3: 切面及通知实例 Aspectj的aop

    1.前置通知 接口: package chapter1.server; public interface IHelloService { public void sayAdvisorBefore(St ...

  4. Angular表达式--插值字符串($interpolate)

    要在字符串模板中做插值操作,需要在你的对象中注入$interpolate服务.在下面的例子中,我们将会将它注入到一个控制器中: angular.module('myApp', []) .control ...

  5. Educational Codeforces Round 27

    期末后恢复性训练,结果完美爆炸... A,题意:2n个人,分成两队,要求无论怎么分配,第一队打赢第二队 #include<bits/stdc++.h> #define fi first # ...

  6. 【Java】抽象类和接口

    一.抽象类和抽象方法 1.什么是抽象类 普通类是一个完善的功能类,可以直接产生实例化对象,并且在普通类中可以包含有构造方法.普通方法.static方法.常量和变量等内容. 但是普通类中不能有抽象方法, ...

  7. opencv:创建滑动条

    函数原型: ,); #include <opencv.hpp> using namespace cv; #define WINDOW_NAME "线性混合示例" // ...

  8. Makefile的补充学习

    通配符%和Makefile自动推导(规则)(1)%是Makefile中的通配符,代表一个或几个字母.也就是说%.o就代表所有以.o为结尾的文件.(2)所谓自动推导其实就是Makefile的规则.当Ma ...

  9. Agilent RF fundamentals (11)-Vector modulator

     Vector modulator 矢量调制器:调整信号的幅度和相位 http://www.21ic.com/app/test/201805/762401.htm

  10. js 取任意两个数之间的随机整数

    function getRandomInt(min, max) { min = Math.ceil(min); max = Math.floor(max); return Math.floor(Mat ...