A. zabbix安装
zabbix 官网: https://www.zabbix.com/download
1. Install Repository with MySQL database
rpm -i https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
2. Install Zabbix server, frontend, agent
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
3.Install MySQL
rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
yum install -y mysql-server mysql-devel
service mysqld start
mysql_secure_installation #MySQL安全配置向导
Enter current password for root (enter for none): <–初次运行直接回车
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
Remove anonymous users? [Y/n] <– 是否删除匿名用户,生产环境建议删除,所以直接回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,根据自己的需求选择Y/n并回车
Remove test database and access to it? [Y/n] <– 是否删除test数据库,直接回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,直接回车
创建初始数据库文件
# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘zabbix’;
mysql> quit;
导入初始架构和数据。系统将提示您输入新创建的密码。
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
3.配置zabbix
1. 为Zabbix服务器配置数据库
vim /etc/zabbix/zabbix_server.conf
DBPassword=password
vim /etc/httpd/conf.d/zabbix.conf
取消注释并为您设置正确的时区。
php_value date.timezone Asia/Singapore
4.启动Zabbix服务器和代理进程
1. 临时关闭selinux: setenforce 0
2. 启动Zabbix服务器和代理进程并使其在系统引导时启动:
systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd
现在您的Zabbix服务器已启动并运行!
B. Zabbix3 agent端安装
1、基础环境准备
参考 :https://www.zabbix.com/documentation/4.0/manual/installation/install_from_packages/rhel_centos
1.1、yum源配置
rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
1.2、zabbix_agent安装配置
yum install zabbix-agent -y
vim /etc/zabbix/zabbix_agentd.conf
Server=server端ip地址 #用于被动模式,数据获取
ServerActive=server端ip地址 #用于主动模式,数据提交
在 /etc/init.d/ 目录
service zabbix-agent start #启动zabbix agent
2、基础环境准备
云主机策略:
Configuration-Templates-Template OS Linux-Triggers
选择 Lack of free swap space on {HOST.NAME}
修改Expression
{Template OS Linux:system.swap.size[,pfree].last(0)}<501
修改为
{Template OS Linux:system.swap.size[,pfree].last(0)}<50 and {Template OS Linux:system.swap.size[,free].last(0)}<>0
C. Zabbix3 JMX监控
参考:https://www.zabbix.com/documentation/4.0/manual/concepts/java/from_rhel_centos
在server端
1. yum install zabbix-java-gateway
2.service zabbix-java-gateway restart
3. vim /etc/zabbix/zabbix_server.conf
JavaGateway = 192.168.3.14
JavaGatewayPort = 10052
默认情况下,服务器不会启动与JMX监视相关的任何进程。但是,如果要使用它,则必须指定Java轮询器的预分叉实例数。您可以像指定常规轮询器和捕获器一样执行此操作。
StartJavaPollers = 5
在服务端只需要安装zabbix-agent就可以了
在 tomcat/bin/ 目录添加 setenv.sh 文件
添加:
#jmx
export CATALINA_OPTS=”$CATALINA_OPTS -Dcom.sun.management.jmxremote”
export CATALINA_OPTS=”$CATALINA_OPTS -Dcom.sun.management.jmxremote.authenticate=false”
export CATALINA_OPTS=”$CATALINA_OPTS -Dcom.sun.management.jmxremote.ssl=false”
export CATALINA_OPTS=”$CATALINA_OPTS -Dcom.sun.management.jmxremote.port=12346″
(1) Used(已使用):当前使用的内存总量。使用的内存总量是指所有的对象占用的内存,包括可达和不可达的对象。
(2) Committed(分配):JVM可使用的内存量。Committed内存数量可能随时间变化而变化。JAVA虚拟机可能将某些内存释放,还给操作系统,committed内存可能比启动时初始分配的内存量要少。Committed内存总是大于等于used内存。
(3)Max(最大值):内存管理可用的最大内存数量。此值可能改变或者为未定义。如果JVM试图增加使用内存(used memory)超出了committed内存,那么即时使用内存小于或者等于最大内存(比如系统虚拟内存较低),内存分配仍可能失败。
短信 1. vim /etc/zabbix/zabbix_server.conf
2. AlertScriptsPath=/usr/lib/zabbix/alertscripts
3. shell
#!/bin/bash
phone=$1
if [ ! -n “$phone” ] ;
then
echo “请输入phone”
exit 1
else
echo “您输入的phone: $phone”
fi
context=$2
if [ ! -n “$context” ] ;
then
context=”test msg”
else
echo “您输入的context: $context”
fi
curl -X POST https://rest.nexmo.com/sms/json -d api_key=ece15794 -d api_secret=f7kni7ZFYAf4r6v0 -d to=$phone -d from=”NEXMO” -d text=”$context”