ZabbixServer的安装(只有源码装zabbix才能装支持java)

搭建自定义yum仓库并安装支持包

yum -y install createrepo        #下载依赖关系命令
createrepo rpm               #生成依赖关系 vim /etc/yum.repos.d/cccc.repo     #创建yum源指定安装包 
[rpm]
name=rpm
baseurl=file:///root/rpm/
gpgcheck=
enabled= yum -y install pcre pcre-devel zlib-devel libaio libaio-devel libxml2 libxml2-devel bzip2-devel openssl openssl-devel net-snmp-devel net-snmp curl-devel gd gcc gcc-c++ make libjpeg-devel libpng-devel libcurl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker mysql-devel net-snmp-utils
#如果下一步出现问题,请注释掉yum配置文件里的本地光盘源
yum -y install libvpx-devel gd-devel

编译安装LNMP环境 (编译过程看不懂 看前边博客各项安装)

安装nginx

useradd -s /sbin/nologin -M www            
tar xf nginx-1.10..tar.gz -C /usr/src/
cd /usr/src/nginx-1.10./
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module && make && make install
ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
cd /usr/local/nginx/conf/
egrep -v "^$|#" nginx.conf.default > nginx.conf vim nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.php index.html index.htm;
}
location = /nginx-status {
stub_status on;
access_log off;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
} nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

安装mysql

tar xf mysql-5.5.-linux2.-x86_64.tar.gz -C /usr/local/
cd /usr/local/
mv mysql-5.5.-linux2.-x86_64 mysql
cd mysql/
/bin/cp support-files/my-small.cnf /etc/my.cnf
useradd -s /sbin/nologin -M mysql
chown -R mysql.mysql data
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld /etc/init.d/mysqld start
Starting MySQL.. SUCCESS!

安装libmcrypt

tar xf libmcrypt-2.5..tar.gz -C /usr/src/
cd /usr/src/libmcrypt-2.5./
./configure && make && make install

安装GD

tar xf GD-2.18.tar.gz -C /usr/src/
 yum install perl-ExtUtils-Embed -y
cd /usr/src/GD-2.18/
perl Makefile.PL
make && make install

安装PHP

tar xf php-5.6..tar.gz -C /usr/src/
cd /usr/src/php-5.6./
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-bz2 --with-curl --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath
make && make install
cp php.ini-development /usr/local/php/etc/php.ini
vim /usr/local/php/etc/php.ini
max_execution_time =
max_input_time =
memory_limit = 256M
post_max_size = 32M
always_populate_raw_post_data = -
upload_max_filesize = 16M
date.timezone =Asia/Shanghai cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
user = www
group = www

安装zabbix server端

编译安装zabbix服务器

useradd zabbix -s /sbin/nologin -M
tar xf zabbix-3.2..tar.gz -C /usr/src/
cd /usr/src/zabbix-3.2./
./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --with-libxml2
make && make install
#由于zabbix启动脚本路径默认指向的是/usr/local/sbin路径,因此,需要提前建立软连接:
ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
ln -s /usr/local/zabbix/bin/* /usr/local/bin/

配置zabbix的mysql环境

Zabbix服务器和mysql安装到一台服务器上,首先需要手动创建zabbix数据库,操作如下:
mysqladmin -uroot password ''
mysql -uroot -p123456 -e 'create database zabbix character set utf8;'
mysql -uroot -p123456 -e "grant all privileges on zabbix.* to zabbix@'localhost' identified by '123456';"
mysql -uroot -p123456 -e 'flush privileges;'
#如下数据的导入顺序不可以错
mysql -uzabbix -p123456 zabbix < /usr/src/zabbix-3.2./database/mysql/schema.sql
mysql -uzabbix -p123456 zabbix < /usr/src/zabbix-3.2./database/mysql/images.sql
mysql -uzabbix -p123456 zabbix < /usr/src/zabbix-3.2./database/mysql/data.sql

安装Zabbix web GUI

  • Zabbix web是php代码编写的,因此需要有php环境,前面已经安装好了lnmp,因此可以直接使用。
  • 默认的nginx安装的根目录为/ usr / local / nginx / html,因此,只需要Zabbix web的代码放到此目录即可。
  • Zabbix web的代码在Zabbix源码包中的frontends / php目录下,将这个php目录拷贝到/ usr / local / nginx / html /目录下并改名zabbix即可完成Zabbix web端的安装。
  • 在浏览器输入http:// IP / zabbix,然后会检查zabbix web运行环境是否满足,并提供连接数据库的相关信息即可,最后将连接数据库相关信息都存入文件zabbix / conf / zabbix.conf。 PHP中,这样就可以登录ZABBIX的网络平台了。
  • 默认的ZABBIX平台登录用户名为管理员,密码为ZABBIX。

复制zabbix web目录到nginx web根目录下

cp -rp /usr/src/zabbix-3.2./frontends/php /usr/local/nginx/html/zabbix
cd /usr/local/nginx/html/
chown -R www.www zabbix
ll -d zabbix/
drwxr-xr-x. www www Feb zabbix/

启动nginx服务及php-fpm

/usr/local/nginx/sbin/nginx
netstat -antup | grep nginx
tcp 0.0.0.0: 0.0.0.0:* LISTEN /nginx
/usr/local/php/sbin/php-fpm
netstat -antup | grep php-fpm
tcp 127.0.0.1: 0.0.0.0:* LISTEN /php-fpm

登录web根据提示生成zabbix.conf.php配置文件

在浏览器输入:IP/zabbix

zabbix server的配置

zabbix_server.conf配置

通过源码安装方式将zabbix安装到/ usr / local / zabbix下面,zabbix server的配置文件为/usr/local/zabbix/etc/zabbix_server.conf

#将zabbix_server.conf文件内容修改成如下所示:
vim /usr/local/zabbix/etc/zabbix_server.conf
   ListenPort=         #zabbix server监听端口
LogFile=/tmp/zabbix_server.log #zabbix server日志路径
DBName=zabbix           #zabbix server连接MySQL数据库的数据库名
DBUser=zabbix           #zabbix server连接MySQL数据库的用户名
DBPassword=         #zabbix server连接MySQL数据库的密码
DBSocket=/tmp/mysql.sock    #MySQL的实例文件位置
StartPollers=           #用于设置zabbix server服务启动时启动Pollers(主动收集数据进程)的数量,数量越多,则服务端吞吐能力越强,同时对系统资源消耗越大
StartTrappers=         #用于设置zabbix server服务启动时启动Trappers(负责处理Agentd推送过来的数据的进程)的数量。Agentd为主动模式时,zabbix server需要设置这个值大一些。
StartDiscoverers=         #用于设置zabbix server服务启动时启动Discoverers进程的数量,如果zabbix监控报Discoverers进程忙时,需要提高该值。
ListenIP=0.0.0.0         #zabbix server启动的监听端口对哪些ip开放,Agentd为主动模式时,这个值建议设置为0.0.0.0
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
                        #zabbix server运行脚本存放目录,一些供zabbix server使用的脚本,都可以放在这里。

添加相关服务和端口到系统配置文件

编辑/ etc / services中文件,在最后添加以下代码:

vim /etc/services
zabbix-agent /tcp # Zabbix Agent
zabbix-agent /udp # Zabbix Agent
zabbix-trapper /tcp # Zabbix Trapper
zabbix-trapper /udp # Zabbix Trapper

其中,10051是zabbix server的监听端口,10050是zabbix agent的监听端口。

添加管理维护脚本

从ZABBIX源码包杂项/ init.d /的fedora的/ CORA /目录中找到zabbix_server和zabbix_agentd,然后复制到的/etc/init.d目录下,由于我们的zabbix_agnetd采用转的安装方式,会自动添加启动脚本,所以在此处,我们不进行zabbix_agentd的启动脚本的复制。

cp /usr/src/zabbix-3.2./misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server
chmod +x /etc/init.d/zabbix_server
chkconfig zabbix_server on

启动zabbix_server端进程

/etc/init.d/zabbix_server start
netstat -antup | grep zabbix_server
tcp 0.0.0.0: 0.0.0.0:* LISTEN /zabbix_server

zabbix_agent的安装与配置

zabbix agent端的安装建议采用rpm包方式安装,可从http://repo.zabbix.com/zabbix/3.2/下载zabbix的agent端rpm包,版本与zabbix server端保持一致,安装如下:

wget http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-agent-3.2.4-1.el6.x86_64.rpm
rpm -ivh zabbix-agent-3.2.-.el6.x86_64.rpm

安装完成后,zabbix agent端已经安装完成了,zabbix agent端的配置目录位于/ etc / zabbix下,可在此目录进行配置文件的修改。

特别提示:

  • zabbix server的源码包本身就包含了zabbix server端和zabbix agent端,因此,zabbix服务器端无需再安装zabbix agent的rpm包。
  • 然而zabbix agent的rpm包是为了方便在服务器上进行快速安装而设计的快捷安装包。
  • 因此为了统一,监控端和被监控端的zabbix agent我们都用rpm的安装方式

修改zabbix agent端的配置文件

#将内容修改为如下所示:
vim /etc/zabbix/zabbix_agentd.conf
   PidFile=/var/run/zabbix/zabbix_agentd.pid    #进程pid存放路径
LogFile=/var/log/zabbix/zabbix_agentd.log   #zabbix agent日志存放路径
Server=127.0.0.1,192.168.0.220           #指定zabbix server端IP地址
ListenPort=                  #指定agentd的监听端口
StartAgents=                  #指定启动agentd进程数量。设置0表示关闭
ServerActive=192.168.0.220:         #启用agnetd主动模式,启动主动模式后,agentd将主动将收集到的数据发送到zabbix server端,Server Active后面指定的IP就是zabbix server端IP
Hostname=192.168.0.220                #需要监控的主机名或者IP地址,agent装在哪写哪的IP
Include=/etc/zabbix/zabbix_agentd.d/ #相关配置都可以放到此目录下,自动生效
UnsafeUserParameters=                #启用agent端自定义item功能,设置此参数为1后,就可以使用UserParameter指令了。UserParameter用于自定义item

启动zabbix_agent端进程

/etc/init.d/zabbix-agent start
netstat -antup | grep zabbix_agent
tcp 0.0.0.0: 0.0.0.0:* LISTEN /zabbix_agentd
tcp ::: :::* LISTEN /zabbix_agentd
chkconfig zabbix-agent on

设置开机自启动

chkconfig mysqld on
chkconfig zabbix_server on

vim /etc/rc.local
mkdir /var/run/zabbix
chown root:zabbix /var/run/zabbix
chmod 0775 /var/run/zabbix
/usr/local/sbin/nginx
/usr/local/php/sbin/php-fpm
/etc/init.d/zabbix-agent stop

解决zabbix-agent重启无法创建PID问题

mkdir /var/run/zabbix
chown root:zabbix /var/run/zabbix
chmod /var/run/zabbix

测试zabbix server监控

如何知道zabbix server监控已经生效呢,可通过zabbix server上的zabbix_get命令来完成,在zabbix服务器上执行如下命令即可进行测试:

/usr/local/zabbix/bin/zabbix_get -s 192.168.50.166 -p  -k "system.uptime"
-s 是指定zabbix agent端的IP地址
-p 是指定zabbix agent端的监听端口
-k 是监控项,即item
如果有输出结果,表面zabbix server可以从zabbix agent获取数据,配置成功。

具体操作如下:

#在监控端zabbix_server端进行如下操作
/usr/local/zabbix/bin/zabbix_get -s 192.168.50.166 -p -k "system.uptime"
#有数据显示就代表监控正常

自定义一个监控项

在zabbix agent配置文件里定义这个监控项

vim /etc/zabbix/zabbix_agentd.conf
Include=/etc/zabbix/zabbix_agentd.d/ #我们发现zabbix_agentd.d目录已经默认被include进入了主配置文件。

由于zabbix_agentd.conf配置文件默认导入了所有zabbix_agentd.d目录下的内容,因此我们可以将监控项定义到zabbix_agentd.d目录下。

参考模版,自己定义监控项的获取命令

vim /etc/zabbix/zabbix_agentd.d/监控名.conf
UserParameter=MEM,free |awk 'NR==2{print $NF}'
固定格式 自定义监控key键, 监控命令(查看总内存)
/etc/init.d/zabbix-agent restart

在zabbix server端测试获取自定义的监控项信息

/usr/local/zabbix/bin/zabbix_get -s 192.168.50.166 -p  -k "MEM"

zabbix server端与agent端源码安装 自定义监控项的更多相关文章

  1. [原创] zabbix学习之旅一:源码安装

    zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存 ...

  2. zabbix-3.4.14源码安装

    此次介绍一下,zabbix的源码安装,因为zabbix的依赖很多,所以源码安装有很多依赖需要安装 首先,下载zabbix源码包 wget https://nchc.dl.sourceforge.net ...

  3. zabbix源码安装实例

    环境 系统                 Centos7 zabbix版本      Zabbix 3.4.15 (revision 86739) zabbix源码安装 .tar.gz cd zab ...

  4. 源码安装和配置zabbix 3.0 LST

    Zabbix是什么 Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持. Zabbix 是一个企业级的分布式开源监控方案. Zabbix是一款能够监控各 ...

  5. zabbix源码安装后,设置为服务启动和关闭

    zabbix源码安装,使用service启动与关闭服务 1. zabbix客户端的系统服务脚本 1.1 拷贝启动脚本 zabbix的源码提供了系统服务脚本,在/usr/local/src/zabbix ...

  6. 部署zabbix监控平台(源码安装)

    案例:部署Zabbix监控平台 1 问题 本案例要求部署一台Zabbix监控服务器,一台被监控主机,为进一步执行具体的监控任务做准备: 安装LNMP环境 源码安装Zabbix 安装监控端主机,修改基本 ...

  7. 源码安装zabbix

    源码安装zabbix 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.     欢迎加入:高级运维工程师之路 598432640 前言:参考网上多篇源码安装的连接,自己把安装过程丢在这 ...

  8. Zabbix监控系统部署:源码安装

    1. 概述1.1 基础环境2. 部署过程2.1 创建用户组2.2 下载源码解压编译安装2.2.1 下载源码解压2.2.2 YUM安装依赖环境2.2.3 编译安装最新版curl2.2.4 更新GNU构建 ...

  9. CentOS Linux release 7.3源码安装zabbix

    CentOS Linux release 7.3安装zabbix 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 前言: 我去年用用centos6的环境搭建了一下 zabbix3.0 ...

随机推荐

  1. YOLO---YOLOv3 with OpenCV安装与使用

    Yolo v3+Opencv3.4.2安装记录 @wp20180930 目录 一.环境要求 (1)python版本的查看 (2)opencv版本的查看 二.文件下载 三.数据自测 四.问题与解决 (1 ...

  2. fixed固定元素

    1.css <style type="text/css"> .elementFixed{ position: fixed; top:0; } </style> ...

  3. Codeforces 1216E2 枚举位数+二分

    两个二分 枚举位数 #include <bits/stdc++.h> #define MOD 1000000007 using namespace std; typedef long lo ...

  4. PAT乙级1043

    题目链接 https://pintia.cn/problem-sets/994805260223102976/problems/994805280074743808 题解 这次再次体会到题意理解的正确 ...

  5. 二叉堆的介绍和Java实现

    一.堆和二叉堆 堆,英文名称Heap,所谓二叉堆(也有直接称二叉堆为堆的),本质上是一个完全二叉树,前面也提到过,如果树接近于完全二叉树或者满二叉树,采用顺序存储代价会小一点,因此常见的二叉堆均是顺序 ...

  6. flask调试模式

    想要启用调试模式,发现安装目前网上流行的两种方式均无法在Pycharm中打开调试模式. 1)直接在对象上设置 flask 更新到1.0以后 不支持使用debug =True 来开启调试模式了. Pri ...

  7. JDK、JRE、JVM的区别与关系

    JDK JDK是Java开发工具包,是Sun Microsystems针对Java开发员的产品. JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里 ...

  8. .NET大文件分片上传

    需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制. 第一步: 前端修改 由于项目使用的是 ...

  9. word标题前出现黑块解决方案

    1,将光标定位到出现问题的标题前面 2,点击最上方的标题,然后点击修改-->格式-->编号-->无-->确定. 3,重新设置标题即可.

  10. 初学mysql 如何删除数据库 如何安装mysql

    廖老师官网链接 这两个表格有个映射关系,就是根据Grade_ID可以在班级表中查找到对应的所有班级: 也就是Grade表的每一行对应Class表的多行,在关系数据库中,这种基于表(Table)的一对多 ...