系统环境: Centos 6.4

  一直觉得 zabbix 很简单,但是还是有好多人看了好多文档都搞不明白怎么用,我从2013年使用到现在也小有心得,如果时间允许,很高兴与大家一起分享我在使用过程中的一些小技巧和小经验。好了至于什么是zabbix之类的废话就不多说了,有兴趣可以看看别人写的,我只想说zabbix网上的文档真是好多好多好多....

  咱们这次部署全程使用 yum ,我会简单说一下 yum 的配置。很多小伙伴都会问,不都是下载源码包装吗?或者下载 rpm 包装吗?我的 yum 里为什么没有 zabbix ?其实类似这种第三方软件,基本的 yum 软件源是不提供的,不过你可以增加 epel 源来安装,这里就不介绍 epel 啦,想详细了解的就自己去epel 官网看吧。

安装一套LAMP环境

yum -y install zlib-devel mysql-devel glibc-devel curl-devel gcc automake mysql libidn-devel openssl-devel net-snmp-devel rpm-devel OpenIPMI-devel httpd mysql-server php-gd php-mysql php-bcmath php-mbstring php-xml perl-DBI php

提示:以上相关软件直接可以通过centos自带的yum源安装,这个过程依据各自带宽而定。很慢~! 虽然版本偏低,但是对于部署来说足够了。

安装EPEL源

我们可以直接访问 http://download.fedoraproject.org/pub/epel/6/i386/repoview/epel-release.html 找到epel的安装包,右键复制地址,直接装就可以了。

rpm -ivh http://mirrors.zju.edu.cn/epel/6/i386/epel-release-6-8.noarch.rpm  

提示:这里对epel里的zbx资源简单介绍一下,epel里zbx资源分为三个版本,1.8、2.0、2.2。官网目前最新版本是2.4,1.8建议你不要考虑了,我曾经在别人的机器上用过一下,trigger还不能手动编写,反正我是用不惯,2.0目前是我正在使用的版本,2.2让我感觉比较high的亮点功能就是对虚拟机的监控。在我眼里2.0、2.2 、2.4这三个版本其实在使用上没啥太大的区别,安装方式也是一样的。

安装ZABBIX

  这里先为大家显示一下,一个Zabbix Server所需要的安装包

$yum search zabbix22 | awk -F":" '/zabbix22/&&!/pgsql|Matched|sqlite|proxy/{print $1}'
zabbix22.x86_64
zabbix22-agent.x86_64
zabbix22-dbfiles-mysql.noarch
zabbix22-server.noarch
zabbix22-server-mysql.x86_64
zabbix22-web.noarch
zabbix22-web-mysql.noarch

很多文档直接就装了,也不说这玩意都是什么东西,所以今天就说点废话,主要是针对新手向,老手可以绕行。以下只是简单的介绍,具体包里都包含什么文件,有兴趣的话,可以自己rpm -ql翻看,反正偶是没兴趣。

zabbix22.x86_64 #zabbix主程序
zabbix22-agent.x86_64 #zabbix客户端程序
zabbix22-dbfiles-mysql.noarch #zabbix22 mysql数据库文件
zabbix22-server.noarch #Server服务端程序
zabbix22-server-mysql.x86_64 #Server连接mysql程序
zabbix22-web.noarch #web前端php程序
zabbix22-web-mysql.noarch #web前端php连接mysql数据库

复制粘贴回车你懂的

yum -y install $(yum search zabbix22 | awk -F":" '/zabbix22/&&!/pgsql|Matched|sqlite|proxy/{print $1}')

  这里说一下我理解的 zabbix 的结构,zabbix 分为 Server 端和 Agent 端(大家都知道的,不用你废话。**-_-!!**),Agent 负责采集监控数据传送到 Server 端,Server 端负责将采集的数据保存到数据库中,还有一个很多时候大家都忽略的部分,就是 zabbix 通过前端 WEB 页面调用 php,将监控数据值从数据库中提取出来并进行前端展示。所以有时候排查故障的一定要先确定故障点是在前端,还是在后端。学会缩小范围按步骤排查故障。

  以上安装我过滤掉了 zabbix 使用pgsql数据库的程序, sqlite 数据库程序和 proxy 程序。帮朋友排查 zabbix 问题的时候,发现好多都是装的 mysql 数据库,zabbix 装的是 pgsql 数据库连接程序,导致 zabbix 数据库怎么也连不上。所以在这里给大家提个醒,注意自己装的程序是否符合自己的环境。

  以上步骤完后所有需要创建的系统账号比如 mysql,zabbix服务的启动脚本,包括 httpd 关于 zabbix 访问的配置文件,都已经为你配置好了。你可以通过查看/etc/httpd/conf.d/zabbix.conf 文件找到前端页面访问的具体位置。(这就是偶稀饭yum的原因!!)

启动数据库

service mysqld start

创建数据库

mysql << EOF
create database zabbix character set utf8;
grant all on zabbix.* to zabbix@localhost identified by '123456';
quit
EOF

提示:这里数据库一定要指定字符集,要不在前端历史操作是乱码,因为历史操作是保存在数据库里的。

导入数据库

mysql -uzabbix -p123456 zabbix < /usr/share/zabbix-mysql/schema.sql
mysql -uzabbix -p123456 zabbix < /usr/share/zabbix-mysql/images.sql
mysql -uzabbix -p123456 zabbix < /usr/share/zabbix-mysql/data.sql

提示:以上数据库一定要按照顺序导入

配置zabbix_server访问数据库的账号和密码

sed -i '/^DBName/s/=.*$/=zabbix/' /etc/zabbix_server.conf
sed -i '/^# DBPassword/s/.*$/DBPassword=123456/' /etc/zabbix_server.conf

修改php.ini

sed -i 's/post_max_size = 8M/post_max_size = 32M/g' /etc/php.ini
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /etc/php.ini
sed -i 's/;date.timezone =/date.timezone = Asia\/Shanghai/' /etc/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 600/g' /etc/php.ini
sed -i 's/max_input_time = 60/max_input_time = 600/g' /etc/php.ini
sed -i 's/memory_limit = 128M/memory_limit = 256M/g' /etc/php.ini

提示:我这里只是修改了 zabbix 初始化php配置时需要检测默认配置参数,大家可以根据自己实际情况调整 php.ini 参数

简单的配置服务

chkconfig --level 345 zabbix-server on
chkconfig --level 345 zabbix-agent on
setenforce 0
service zabbix-server start
service zabbix-agent start

提示:不稀饭 selinux,所以我都关掉。

登录

  现在可以通过http://ip/zabbix 来访问了,第一次会初始化一些配置,主要还是配置 php.ini 的参数和php访问数据库的账号和密码。基本上一路Next就ok了。

zabbix真的很简单 (安装篇)的更多相关文章

  1. HTTP真的很简单

    原文:HTTP Made Really Easy因为我本身网络基础就很差,所以看到这篇文章一方面是学习网络知识,另一方面为了锻炼我蹩脚的英语水平,文中如有错误,欢迎浏览指正! 前言 在看这篇文章的时候 ...

  2. HTTP真的很简单(转)

    原文:HTTP Made Really Easy因为我本身网络基础就很差,所以看到这篇文章一方面是学习网络知识,另一方面为了锻炼我蹩脚的英语水平,文中如有错误,欢迎浏览指正! 前言 在看这篇文章的时候 ...

  3. shell编程其实真的很简单(一)

    如今,不会Linux的程序员都不意思说自己是程序员,而不会shell编程就不能说自己会Linux.说起来似乎shell编程很屌啊,然而不用担心,其实shell编程真的很简单. 背景 什么是shell编 ...

  4. shell编程其实真的很简单(四)

    上篇我们学习了shell中条件选择语句的用法.接下来本篇就来学习循环语句.在shell中,循环是通过for, while, until命令来实现的.下面就分别来看看吧. for for循环有两种形式: ...

  5. 写你的shell,其实很简单[架构篇]

    引语:我本人以前并没有写过shell脚本,也许是因为懒,也许是没有被逼到要去写shell的地步.但是,前段时间,工作需求,要求重新跑几个月的脚本,这些脚本是每天定时进行跑的,而且每天是好几个脚本一起关 ...

  6. shell编程其实真的很简单(二)

    上篇我们学会了如何使用及定义变量.按照尿性,一般接下来就该学基本数据类型的运算了. 没错,本篇就仍是这么俗套的来讲讲这无聊但又必学的基本数据类型的运算了. 基本数据类型运算 操作符 符号 语义 描述 ...

  7. shell编程其实真的很简单(五)

    通过前几篇文章的学习,我们学会了shell的基本语法.在linux的实际操作中,我们经常看到命令会有很多参数,例如:ls -al 等等,那么这个参数是怎么处理的呢? 接下来我们就来看看shell脚本对 ...

  8. shell编程其实真的很简单(三)

    通过前两篇文章,我们掌握了shell的一些基本写法和变量的使用,以及基本数据类型的运算.那么,本次就将要学习shell的结构化命令了,也就是我们其它编程语言中的条件选择语句及循环语句. 不过,在学习s ...

  9. 如果你这么去理解HashMap就会发现它真的很简单

    Java中的HashMap相信大家都不陌生,也是大家编程时最常用的数据结构之一,各种面试题更是恨不得掘地三尺的去问HashMap.HashTable.ConcurrentHashMap,无论面试题多么 ...

随机推荐

  1. python获取ip地址

    #!/usr/bin/env python # -*- coding: utf-8 -*- import os import socket,fcntl,struct #crontab下shell命令无 ...

  2. Numpy Ndarray对象1

    标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指 针.这样为了保存一个简单的[1,2,3],需要有3个指针和三 ...

  3. windows不重装系统和重建MBR分区表来扩展系统盘

    step1. 下载Acronis Disk Director Suite工具,随便一搜都能下载的到. step2. 这个软件使用非常easy,网上有非常多图文教程.扩充盘使用Increase the ...

  4. html-mailto

    MailTo 属性 mailto 属性可以设置到a 标签和form 标签中 例如: <a href="mailto:****@qq.com">send mail< ...

  5. go web编程——路由与http服务

    本文主要讲解go语言web编程中的路由与http服务基本原理. 首先,使用go语言启动一个最简单的http服务: package main import ( "log" " ...

  6. sudo在清理内存的时候报错

    运行下面语句清缓存时,报Permission denied错误:-bash: /proc/sys/vm/drop_caches: Permission denied sudo echo 1 > ...

  7. mySql | Error: ER_DATA_TOO_LONG: Data too long for column 'base_info' at row 1

    问题描述:执行insert语句报以下错误 原因:数据库表,该字段在设计的时候长度过小,新插入的数据过长,会提示以上错误! 解决办法:修改表中该字段的长度限定.

  8. 一、Angular环境的搭建

    1.安装nodejs (1) 下载网址https://nodejs.org/en/download/ (2) 双击进行安装 (3) 打开命令行,输入node -v 和 npm -v 查看是否安装成功 ...

  9. Redis服务器中有75%受到恶意软件感染

    尽管由于配置错误的服务器和应用程序而导致新的网络攻击不断出现,但人们仍然忽略安全警告. 近两个月前,中国知名黑客组织东方联盟研究人员警告说,一项针对开放Redis服务器的大规模恶意软件活动现在已经发展 ...

  10. 【学习笔记】可持久化并查集(BZOJ3673)

    好久之前就想学了 然后今天恰巧一道题需要用到就学了 前置芝士 1.主席树[可持久化数组] 2.并查集 如果你掌握了前面两个那么这个东西你就会觉得非常沙茶.. 构造 可持久化并查集 = 主席树  + 并 ...