本文章将演示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. python下的复杂网络编程包networkx的使用(摘抄)

    原文:http://blog.sciencenet.cn/home.php?mod=space&uid=404069&do=blog&classid=141080&vi ...

  2. MFC--自定义CMFCTabCtrl的实现

    在MFC实现桌面程序时,可能会用到TabView效果,我实现的是最基本的效果,如下图: 下面介绍详细的实现过程,如果需要效果更好看些,自行美化. 1.  创建自定义MFCTabCtrl类MyMFCTa ...

  3. eclipse indigo 安装 Eclipse Marketplace Client

    打开 eclipse,help--Eclipse Marketplace Client就能找到 有的eclipse中没有这个功能就需手动添加Eclipse Marketplace Client. he ...

  4. 七 web爬虫讲解2—urllib库爬虫—状态吗—异常处理—浏览器伪装技术、设置用户代理

    如果爬虫没有异常处理,那么爬行中一旦出现错误,程序将崩溃停止工作,有异常处理即使出现错误也能继续执行下去 1.常见状态吗 301:重定向到新的URL,永久性302:重定向到临时URL,非永久性304: ...

  5. AI实现五子棋机器人(一)

    前言: 前几天在 csdn 下载资源的时候才发现自己 csdn 有近 200 的下载积分,看了看共享的资源,哈哈 ... 7年前写的五子棋游戏很受欢迎. 下载地址:新手入门五子棋游戏     刚入行的 ...

  6. linux语言设置i18n(转)

    修改 /etc/sysconfig/i18n 文件,如 LANG="en_US.UTF-8",xwindow会显示英文界面, LANG="zh_CN.GB18030&qu ...

  7. ng json格式的序列化和反序列化

    ng中自带方法 angular.toJson 序列化angular.fromJson 反序列化 结果: 代码: <!DOCTYPE html> <html ng-app=" ...

  8. c++ 字符串查找函数

    头文件:#include <string.h> 定义函数:int strcasecmp (const char *s1, const char *s2); 函数说明:strcasecmp( ...

  9. 9.链表中倒数第k个结点[FindReverseKthLinkedListNode]

    [题目] 输入一个单向链表,输出该链表中倒数第k个结点.链表的倒数第0个结点为链表的尾指针.链表结点定义如下:  C++ Code  12345   struct ListNode {     int ...

  10. bzoj 4545 DQS 的 Trie

    老年选手不会 SAM 也不会 LCT 系列 我的数据结构好菜啊 qnq 一颗 Trie 树,$q$ 次询问,每次可以是: 1.求这棵树上本质不同的子串数量 2.插入一个子树,保证总大小不超过 $100 ...