日志分类:linux

Zabbix监控Bind(DNS)解析状态状态

分类:linux日期:2018-12-12 - 22:06:09评论:0条作者:老谢

  通过BIND内置的监控模块提供统计数据,需在named.conf加入以下行打开该功能:

statistics-channels {
  inet 127.0.0.1 port 8053 allow { 127.0.0.1; };
};

  编辑/usr/local/zabbix/etc,加入:

UserParameter=bind.queries.in[*],curl http://127.0.0.1:8053/ 2>/dev/null | /usr/bin/xml2 | grep -A1 "/isc/bind/statistics/server/queries-in/rdtype/name=$1$" | tail -1 | cut -d= -f2
UserParameter=bind.queries.out[*],curl http://127.0.0.1:8053/ 2>/dev/null | /usr/bin/xml2 | grep -A1 "/isc/bind/statistics/views/view/rdtype/name=$1$" | tail -1 | cut -d= -f2
 
#注意,需要安装xml2,可以使用yum install xml2来安装

  PS:折腾一圈发现,模板里没有包含OUT的监控,而且命令执行后OUT是空的,不太熟悉bind-statistics输出的内容,以后再研究吧……

继续阅读…

Tags: , ,

Zabbix监控Apache性能

分类:linux, 运维技术日期:2018-11-24 - 14:39:19评论:0条作者:老谢

  和之前写过的Zabbix 3.2 agentd监控Nginx性能原理差不多,都是通过web引擎输出status信息来进行性能监控,一般情况下我们需要对ReqPerSec、BytesPerSec、BusyWorkers、IdleWorkers四个数据进行关注。

开启Apache Status
Listen 80
<VirtualHost *:80>
    CustomLog /dev/null common
    ErrorLog /dev/null
    <Location "/server-status">
        SetHandler server-status
        Require ip 127.0.0.1
    </Location>
</VirtualHost>

  我这里生产环境监控的是一台WHM服务器,默认开启apache status,访问地址为http://127.0.0.1:80/whm-server-status?auto,正常情况下应该如下页面内容:

Apache Server Status for 127.0.0.1 (via 127.0.0.1)
Server Version: Apache/2.4.37 (cPanel) OpenSSL/1.0.2p mod_bwlimited/1.4
Server MPM: prefork
Server Built: Oct 29 2018 18:29:24
Current Time: Thursday, 22-Nov-2018 13:48:50 CST
Restart Time: Thursday, 22-Nov-2018 13:48:35 CST
Parent Server Config. Generation: 1
Parent Server MPM Generation: 0
Server uptime: 15 seconds
Server load: 0.05 0.09 0.08
Total accesses: 7 – Total Traffic: 54 kB – Total Duration: 19687
CPU Usage: u.02 s0 cu0 cs0 – .133% CPU load
.467 requests/sec – 3686 B/second – 7.7 kB/request – 2812.43 ms/request
7 requests currently being processed, 4 idle workers

……………

继续阅读…

Tags: ,

Zabbix通过PSK共享密钥实现Server和Agent的通信加密

分类:linux, 运维技术日期:2018-11-22 - 14:23:58评论:1条作者:老谢

  Zabbix版本从3.0之后,开始支持Zabbix server, Zabbix proxy, Zabbix agent, zabbix_sender and zabbix_get之间的通信加密,加密方式有预共享密钥(PSK)和证书加密,加密配置是可选项,一些proxies和agents可以使用证书认证加密通信,另外一些可以使用PSK加密通信,而剩余的可以不使用加密进行通信,需要注意的是如果希望使用加密通信,编译的时候必须加入 –with-openssl参数。

生成并添加PSK共享密钥

  使用命令openssl rand -hex 32生产一串密钥,配置步骤如下:

[root@zabbix scripts]# openssl rand -hex 32
ef52cbe2d1a35e6bb3c43b22bd4f1a1d7bf24d1ccb7c47f6a602425970da5432
 
# 将生成的密钥写入该文件
vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/zabbix_agentd.psk
 
vim /usr/local/zabbix/etc/zabbix_agentd.conf
 
#加入
TLSConnect=psk
TLSAccept=psk
TLSPSKFile=/usr/local/zabbix/etc/zabbix_agentd.conf.d/zabbix_agentd.psk
TLSPSKIdentity=PSKTest
 
#配置完成后重启zabbix_agent进程
在zabbix web gui中添加

Zabbix通过PSK共享密钥实现Server和Agent的通信加密

测试命令
zabbix_get -s 127.0.0.1 -k "system.cpu.load[all,avg1]" --tls-connect=psk --tls-psk-identity="PSK 001" --tls-psk-file=/etc/zabbix/zabbix_agentd.conf.d/zabbix_agentd.psk
Tags: ,

Grafana 5.3 安装及配置

分类:linux日期:2018-11-21 - 19:36:01评论:0条作者:老谢

Zabbix 4.0 LTS

  2018年10月1日,Zabbix官方正式发布Zabbix 4.0 LTS版本,作为长期支持版本,意味着可以获得官方5年的支持。其中完全支持到2021年10月31日,以及有限支持到2023年10月31日,同时官方4.0文档已经更新。
最直观的感受就是重新设计了图形展示,新增了Kiosk模式实现真正意义上的全屏,可以直接做大屏展示,时间选择器做的和Kibana类似;

  Zabbix 4.0 LTS对分布式监控Proxy方式也做了优化,引入了与Proxy通信的压缩,大大减少了传输数据的大小。从而提高了性能。

Zabbix 4.0 LTS 详细了解优化及新增功能参考如下:
新增功能[:https://www.zabbix.com/whats_new]
官方文档:[https://www.zabbix.com/documentation/4.0/manual].

Grafana v5.3
  • Grafana v5.3带来了新功能,许多增强功能和错误修复。
  • Google Stackdriver作为核心数据源;
  • 电视模式得到改善,更易于访问
  • 提醒通知提醒;
  • Postgres获得了一个新的查询构建器;
  • 改进了对Gitlab的OAuth支持;
  • 带模板变量过滤的注释;
  • 具有自由文本支持的变量。

Grafana5.3 详细了解优化及新增功能参考如下:
新增功能:http://docs.grafana.org/guides/whats-new-in-v5-3/

安装
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.3.0-1.x86_64.rpm
yum -y install fontconfig freetype* urw-fonts
yum -y install grafana-5.3.0-1.x86_64.rpm 
chkconfig --add grafana-server
chkconfig grafana-server on
grafana-cli plugins install alexanderzobnin-zabbix-app
/etc/init.d/grafana-server restart
 
#zabix的api地址是根目录下的<em>api_jsonrpc.php</em>,grafana默认端口号3000,抄自:http://blog.51cto.com/10880347/2306804。

Bind9+NamedManager构建高可用DNS服务器

分类:linux日期:2018-10-29 - 10:11:04评论:0条作者:老谢

  这两天在学习DNS,经过两天的折腾对DNS终于有了一些了解,以下内容大部分来自网络,本文只是整理记录以便自己回顾学习的目的,本文建立在已知DNS作用的情况下。

1. 基本概念

1.1 域名

  域名分为三个部分,用“.”(点)分割。严格的域名最后还有一个”.”,但一般省略不写。

  举例来说,www.example.com真正的域名是www.example.com.root,简写为www.example.com.。因为,根域名.root对于所有域名都是一样的,所以平时是省略的。

  根域名的下一级,叫做”顶级域名”(top-level domain,缩写为TLD),比如.com、.net;再下一级叫做”次级域名”(second-level domain,缩写为SLD),比如www.example.com里面的.example,这一级域名是用户可以注册的;再下  一级是主机名(host),比如www.example.com里面的www,又称为”三级域名”,这是用户在自己的域里面为服务器分配的名称,是用户可以任意分配的。

总结一下,域名的层级结构如下。
主机名.次级域名.顶级域名.根域名

# 即

host.sld.tld.root
 
  -类型     标识此域名的类型(com/net/org/edu/gov/info/xyz/cc/...)
  -域名     域名称
  -主机名  该域中的某台主机名称
 
例如:laoxie.me
 
www: 主机名
xj123:域名称
info: 类型

继续阅读…

Tags: ,

Zabbix Proxy进程管理bash脚本

分类:linux日期:2018-07-05 - 22:15:57评论:0条作者:老谢

#!/bin/bash
#processname: zabbix_proxy
 
case $1 in
       start)
              echo -n "Starting zabbix_proxy"
              /usr/local/zabbix/sbin/zabbix_proxy
              echo " done"
       ;;
 
       stop)
              echo -n "Stopping zabbix_proxy"
              killall -9 zabbix_proxy
              echo " done"
       ;;
 
        restart)
                $0 stop
                $0 start
       ;;
 
       show)
              ps -aux|grep zabbix_proxy
       ;;
 
       *)
              echo -n "Usage: $0 {start|stop|restart|show}"
       ;;
 
esac
Tags:

Centos 6.9升级openssh到7.7p1

分类:linux日期:2018-05-23 - 13:56:49评论:1条作者:老谢

开启telnet
yum install telnet-server
vi /etc/xinetd.d/telnet 
#默认telnet禁用root账户登陆,修改telnet配置文件,将配置文件中的disable         = no<修改为yes
 
vi /etc/securetty
 
#增加
#pts/0
#pts/1
#pts/2
#如果登录用户较多,需要更多的pts/*
 
/etc/init.d/xinetd start #启动xinetd进程。
安装相关组件并升级openssh
yum install -y gcc openssl-devel pam-devel rpm-build pam-devel 
wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.7p1.tar.gz
rpm -e `rpm -qa | grep openssh` --nodeps
tar -zxvf openssh-7.7p1.tar.gz 
cd openssh-7.7p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-tcp-wrappers
make && make install
 
vi /etc/ssh/sshd_config
#sed -i '/^#PermitRootLogin/s/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config
#或手动修改PermitRootLogin no 修改为 PermitRootLogin yes 允许root远程登陆
 
service sshd restart 
#重启openssh
ssh -V
#查看版本
 
cp contrib/redhat/sshd.init /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on
service sshd start
service sshd restart
chkconfig --list sshd
关闭telnet
/etc/init.d/xinetd stop && vi /etc/xinetd.d/telnet
将之前改过的disable=yes又改回去成no.
随后再将修改iptables将23端口关闭,并重启iptables服务.
至此,可以再开ssh登录,用ssh -V查看版本号.
Tags: , ,

bash中使用awk命令配合正则处理字符串只保留数字

分类:linux日期:2018-05-08 - 19:39:15评论:0条作者:老谢

  在配置zabbix主机的时候,有个items抓snmp的oid输出的是字符串,zabbix3.4可以直接通过正则处理snmp抓到的数据,但是为了oneoaas已经降级到了zabbix 3.2,经过一番搜索可以通过外部脚本来处理抓到的字符串,首先编辑vim /usr/local/zabbix/etc/zabbix_server.conf,关掉externalscripts的注释,然后修改为正确路即可。

  snmpwalk -v 2c -c public 192.168.1.1 1.3.6.1.4.1.35047.2.10.7.0抓取到的值为SNMPv2-SMI::enterprises.35047.2.10.7.0 = STRING: “35 loginned users in all”,处理脚本如下:

#!/bin/bash
test=$(snmpwalk -v 2c -c public 192.168.1.1 1.3.6.1.4.1.35047.2.10.7.0)
#test1=`$test  | grep '"\d+'`
echo $test | awk '
{
string=$0
len=length(string)
for(i=50; i<=len; i++)
{
tmp=substr(string,i,1)
if(tmp ~ /[0-9]/)
{
str=tmp
str1=(str1 str)
}
}
print str1
}'
Tags: ,

zabbix安装配置简要记录

分类:linux日期:2018-04-10 - 10:45:17评论:0条作者:老谢

请优先参考:LNMP安装配置Zabbix搭建企业级监控平台

安装zabbix(CentOS 6.9 X64)
groupadd zabbix
useradd -g zabbix -s /sbin/nologin zabbix
yum -y install net-snmp net-snmp-devel curl curl-devel perl-DBI net-snmp-utils
wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.8/zabbix-3.4.8.tar.gz
tar -zxf zabbix-3.4.8.tar.gz
mysql -uroot -proot -e "create database zabbix character set utf8"
cd zabbix-3.4.8
mysql -uroot -proot  zabbix < database/mysql/schema.sql
mysql -uroot -proot  zabbix < database/mysql/images.sql
mysql -uroot -proot  zabbix < database/mysql/data.sql
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --enable-ipv6 --with-net-snmp --with-libcurl --with-openssl
make install
vim /etc/services
 
#添加下面的字段
zabbix-agent    10050/tcp                       #Zabbix Agent
zabbix-agent    10050/udp                       #Zabbix Agent
zabbix-trapper  10051/tcp                       #Zabbix Trapper
zabbix-trapper  10051/udp                       #Zabbix Trapper
 
#修改 zabbix server 配置文件
#注意:DBUser和DBPassword请自行根据实际情况填写数据库用户名及密码
vim /usr/local/zabbix/etc/zabbix_server.conf
DBUser=zabbix
DBPassword=zabbix
 
cp misc/init.d/fedora/core/zabbix_* /etc/init.d/
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_server
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd
chmod +x /etc/init.d/zabbix_server
chmod +x /etc/init.d/zabbix_agentd
 
#添加mysql client库到系统默认库中:
vim /etc/ld.so.conf
 
#添加:
/usr/local/mysql/lib
 
#启动
/etc/init.d/zabbix_server start
 
mkdir /home/wwwroot/zabbix
cp -r -a frontends/php/* /home/wwwroot/zabbix
配置fping
yum install epel-release.noarch
yum update
yum install fping
chown root:zabbix /usr/sbin/fping
chmod 710 /usr/sbin/fping
chmod ug+s /usr/sbin/fping
#修改/usr/local/zabbix/etc/zabbix_server.conf,删除FpingLocation=/usr/sbin/fping前的注释。

CentOS设置网卡DHCP自动获取IP地址

分类:linux日期:2017-10-29 - 0:06:12评论:0条作者:老谢

  抽空给一台闲置的笔记本装了CentOS,完事插网线发现ifconfig没有eth0地址,做出如下调整后可以正常从HDCP获取到IP地址,编辑网络接口配置文件:

/etc/sysconfig/network-scripts/ifcfg-eth0

  将ONBOOT改为yes,NM_CONTROLLED改为no,BOOTPROTO改为dhcp之后,重启网络连接即可:service network restart。

CentOS设置网卡DHCP自动获取IP地址