server : Ubuntu 16.04

zabbix: 2.2.23源码包

安装 gcc,curl,make,snmp 软件和zabbix依赖一些php 扩展包

sudo apt-get install curl gcc make snmp php-gd php-mysql php-bcmath php-mbstring php-xml  php-curl libcurl3 libcurl4-openssl-dev

安装 Apache,Mysql,PHP,PHPMyadmin

sudo apt-get install apache2 mysql-server mysql-client
sudo apt-get install php php-mysql libapache2-mod-php
sudo apt-get install php-gd php-gmp
sudo apt-get install phpmyadmin

进入mysql,添加本地数据库使用的zabbix_user

use mysql;
create database zabbix character set utf8;
grant all privileges on zabbix.* to zabbix_user@'localhost' identified by '123456';

官网下载解压软件包。下载地址

下载的是源码包souces

进入到放zabbix-2.2.23.tar.gz的文件夹

tar -zxvf zabbix-2.2.23.tar.gz #解压文件
cd zabbix-2.2.23
tar -zxvf zabbix-2.2.23.tar.gz

导入数据库表

终端命令:

mysql -u root -p #登入数据库

sql:

use zabbix;
source /home/waka/zabbix-2.2.23/database/mysql/schema.sql;
source /home/waka/zabbix-2.2.23/database/mysql/images.sql;
source /home/waka/zabbix-2.2.23/database/mysql/data.sql ;

./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy

如果最后面显示

checking for mysql_config... no
configure: error: MySQL library not found

需要安装mysql-devel

sudo apt-get install libmysqld-dev
sudo make install

修改server配置文件

sudo vim /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBName=zabbix
DBUser=zabbix_user
DBPassword=123456 #指定zabbix数据库密码

修改Agent配置文件

sudo vim /usr/local/zabbix/etc/zabbix_agentd.conf
PidFile=/tmp/zabbix_agentd.pid #进程PID

LogFile=/tmp/zabbix_agentd.log #日志保存位置

EnableRemoteCommands=1 #允许执行远程命令

Server=127.0.0.1 #agent端的ip,因为我是本机的agent
ServerActive=127.0.0.1
Hostname=Zabbix server #必须与zabbix创建的host name相同

添加web前段php文件

 cd zabbix-2.2.23/frontends/
sudo mkdir -p /var/www/html/zabbix # 创建apache的一个目录
sudo cp -rf php /var/www/html/zabbix
sudo chown -R zabbix:zabbix /var/www/html/zabbix

web前端安装配置

修改PHP相关参数

vim php.ini

php的配置项改为类似下面的配置

max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 32M
date.timezone = Asia/Shanghai
mbstring.func_overload=2

在客户端浏览器上面访问zabbix,开始WEB的前端配置,http://ipaddress/zabbix/php,按提示点击下一步

Step1:下一步(Next)

Step2: 如果全部OK的话才能进行下一步的安装,如果有错误请返回到server端检查相关的软件包是否安装或者php配置项是否配置正确。

Step3: 配置数据库信息

Step4: 输入服务器端 host name or host IP addres;

最后会自动写入配置文件:zabbix.conf.php,配置完成后出现登陆界面,默认的用户名为:admin,密码为:zabbix。


启动zabbix服务

在zabbix安装目录下面可以直接启动

/usr/local/zabbix/sbin/zabbix_server start
/usr/local/zabbix/sbin/zabbix_agentd start

至此,zabbix server端的安装完毕,我们可以通过浏览器来访问。如图:

登陆账户是Admin

密码是zabbix

在 zabbix server端执行 zabbix_get,出现No route to host

waka@ubuntus1:/usr/local/zabbix/bin$ ./zabbix_get -s 192.168.1.158 -p 10050 -k "system.uptime"
zabbix_get [3080]: Get value error: cannot connect to [[192.168.1.158]:10050]: [113] No route to host zabbix_get -s 192.168.1.158 -k system.cpu.switches

上面 192.168.1.158 是我测试zabbix angent的ip地址

原因是如果在能ping通ip,但不能连接上,是zabbix server的服务器或者zabbix agent的服务器的 防火墙阻止了 10050端口

解决方法:

  1. 关闭防火墙
  2. 开放 10050端口

需要确保 zabbix server和zabbix agent 2个端都是防火墙开放 10050端口或者关闭了防火墙,才能让zabbix_get 成功

#service iptables stop #停止iptables服务
#service firewalld stop #停止centos firewalld服务
sudo iptables -A INPUT -s 192.168.1.158 -m tcp -p tcp --dport 10050 -j ACCEPT

上面 192.168.1.158 是我测试zabbix angent的ip地址


Centos 6 angent:

rpm -ivh https://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/zabbix-release-3.4-1.el6.noarch.rpm
rpm -e zabbix-release-2.2-1.el6.noarch #如果安装了旧版本,需要卸载
yum install zabbix-agent
sudo service zabbix-agent start
sudo service zabbix-agent stop
sudo service zabbix-agent status
sudo vim /etc/zabbix/zabbix_agentd.conf
netstat -ltn # 查看端口 sudo service iptables status # 检测防火墙状态 yum install zabbix-agent
rpm -ivh https://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
yum install zabbix-agent

/etc/zabbix/zabbix_agentd.conf的配置

Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server # 尽量和Zabbix server中配置的名称一致

cat /var/log/zabbix/zabbix_agentd.log

启动错误:

zabbix_agentd [2052]: cannot open "/dev/null": [13] Permission denied

解决:

chmod 666 /dev/null
active check configuration update from [127.0.0.1:10051] started to fail (cannot connect to [[127.0.0.1]:10051]: [111] Connection refused)

解决方式是: 编辑/etc/zabbix/zabbix_agentd.conf,注释掉ServerActive=127.0.0.1


启动服务端的zabbix-agent时出现

using configuration file: /etc/zabbix/zabbix_agentd.conf
listener failed: socket() for [[-]:10053] failed: [22] Invalid argument

无法解决.....


尝试另外一个单机的检测工具

yum install epel-release
yum install monitorix

配置文件 /etc/monitorix/monitorix.conf

启动 service monitorix start

访问 http://ip:8080/monitorix/

References
  1. Ubuntu16安装Mysql和mysql-devel包 安装mysql devel包
  2. 编译安装zabbix error: MySQL library not found 查找mysql_config
  3. [转载]解决zabbix在configure时候遇到的问题(Ubuntu)
  4. Zabbix linux agent 安装
  5. 详解zabbix安装部署(Server端篇)
  6. centOS6.9 防火墙的关闭以及开启 centos 开启和关闭防火墙
  7. Zabbix 报错 [113] No route to host
  8. zabbix: Get value error: cannot connect to [[192.168.10.131]:10050]: [111] Connection refused解决办法
  9. no route to host zabbix的解决办法
  10. zabbix监控系统客户端安装 zabbix agent的安装
  11. 疑难杂症——bash: /dev/null: Permission denied
  12. 比cacti更好的linux单机监控——Monitorix的安装与配置

尝试 zabbix 小记的更多相关文章

  1. 2018-01-03 烂尾工程: Java实现的汇编语言编译器

    在半年前的中文编程的尝试历程小记中简单介绍了这一项目. 由于短期内估计不会继续进行, 而且这个项目好像是至今个人在中文命名实践中的代码量最大的一个项目, 谨在此作一小结. 最新的源码库在program ...

  2. 2017-11-25 中文代码示例之Spring Boot 1.3.3演示

    "中文编程"知乎专栏原文 源码: program-in-chinese/jinxiaocun 由于这个演示项目成型于去年(详见中文编程的尝试历程小记), Spring Boot还是 ...

  3. Zabbix基本配置及监控主机

    监控主机一版需要在被监控的主机上安装Zabbix Agent 监控主机 安装zabbix-agent 首先需要在被监控的主机上安装agent,可以下载预编译好的RPM进行安装,下载地址:http:// ...

  4. Zabbix 漏洞分析

    之前看到Zabbix 出现SQL注入漏洞,自己来尝试分析. PS:我没找到3.0.3版本的 Zabbix ,暂用的是zabbix 2.2.0版本,如果有问题,请大牛指点. 0x00 Zabbix简介 ...

  5. zabbix 3.0.3 (nginx)安装过程中的问题排错记录

    特殊注明:安装zabbix 2.4.8和2.4.6遇到2个问题,如下:找了很多解决办法,实在无解,只能换版本,尝试换(2.2.2正常 | 3.0.3正常)都正常,最后决定换3.0.3 1.Error ...

  6. zabbix身份验证流程解析&绕过身份验证的方法

    由于实验室产品的监控模块的需求,需要绕过zabbix的验证模块,实现从二级平台到zabbix的无缝接入. 测试发现,zabbix的身份验证并不是想象的那么简单,为了实现功能,遂进行源码分析. zabb ...

  7. python调用zabbix接口实现Action配置

    要写这篇博客其实我的内心是纠结的,老实说,我对zabbix的了解实在不多.但新公司的需求不容置疑,当我顶着有两个头大的脑袋懵懵转入运维领域时,面前摆着两百多组.上千台机器等着写入zabbix监控的需求 ...

  8. ulua 路径小记 以及 lua require 机制整理

    ulua 路径小记 在学习ulua时,require模块的根路径可以为项目的Lua文件夹或者ToLua文件夹(Editor下),但是在package.path和package.cpath中并没有看到当 ...

  9. 小记初试tornado与ajax,一些注意点

    一. 在 tornado模板中使用自定义方法 在tornado中可以使用两种方式,达到在模板中调用自定义方法的效果,第一种是使用UIMethod 和UIModule. 1.UIMethod使用方法示例 ...

随机推荐

  1. print的简单使用

    import time num=20 for i in range(num): print("#", end="") 结果如下: 加个强制刷新 num=20 f ...

  2. 第五记 JDBC

    了解JDBC JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API(API:Application Program Inter ...

  3. PyQt5初识

    学习PyQt5是个机缘,那是因为我的linux16.04+python3.6使了浑身解数也装不上PyQt4! PyQt5的官方文档貌似是要钱的!又想快速了解这个东东,我还是借鉴了万能的博客园大佬博主: ...

  4. JS获取CkEditor在线编辑的内容

    参考博文:[实践]获取CKEditor的html文本.纯文本.被选中的内容及赋值 1.获取CKEditor被选中的内容 var mySelection = CKEDITOR.instances.WOR ...

  5. CAS机制是什么?有什么缺点,会出现什么问题

    CAS是英文单词Compare And Swap的缩写,翻译过来就是比较并替换. CAS机制当中使用了3个基本操作数:内存地址V,旧的预期值A,要修改的新值B. CAS的缺点: 1.CPU开销较大 在 ...

  6. CSIC_716_20191203【 socket网络编程,以及沾包问题的高级解决方式】

    AF_UNIX(本机通信) AF_INET(TCP/IP – IPv4) AF_INET6(TCP/IP – IPv6) SOCK_STREAM(TCP流) SOCK_DGRAM(UDP数据报) 远程 ...

  7. join加入线程

    join线程会抢先拿到cup来执行线程,然后其他的线程再来执行. 案例: public static void main(String args[]){ //创建线程对象 Thread myThrea ...

  8. phpstrom 注释效果

    /** * .,:,,, .::,,,::. * .::::,,;;, .,;;:,,....:i: * :i,.::::,;i:. ....,,:::::::::,.... .;i:,. ..... ...

  9. thinkphp 动态配置

    之前的方式都是通过预先定义配置文件的方式,而在具体的操作方法里面,我们仍然可以对某些参数进行动态配置(或者增加新的配置),主要是指那些还没有被使用的参数. 设置新的值: C('参数名称','新的参数值 ...

  10. 大数据学习路线,来qun里分享干货,

    一.Linux lucene: 全文检索引擎的架构 solr: 基于lucene的全文搜索服务器,实现了可配置.可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面. 推荐一个大数据学习群 ...