【前言】

今天在某个群里看见有人介绍了PagerDuty,介绍到了slack。整合后可以更加方便和团队合作。于是我觉得来尝尝鲜。

【PagerDuty是什么?】

PagerDuty是一款能够在服务器出问题时发送提醒的软件。在发生问题时,提醒的方式包括屏幕显示、电话呼叫、短信通知、电邮通知等,而且在无人应答时还会自动将提醒级别提高。该软件通过一个控制面板对问题进行监控。官方网站:http://www.pagerduty.com,提醒下这不是免费的午餐哈。

【注册

1、打开页面https://signup.pagerduty.com/accounts/new进行注册

2、填写相关内容,填写完成后,你将获得一个二级域名用于管理。

3、然后用二级域名进行登录,完成你的资料,添加用户。这里没有截图啦。

4、选择服务,添加nagios的服务配置,获取key。

选择add service后,获取key。

好了,一系列注册完了。

【部署

安装PagerDuty agent

演示下centos的下载。

1、修改yum的源。

1
2
3
4
5
6
7
8
sudo sh -c 'cat >/etc/yum.repos.d/pdagent.repo <<EOF
[pdagent]
name=PDAgent
baseurl=http://packages.pagerduty.com/pdagent/rpm
enabled=1
gpgcheck=1
gpgkey=http://packages.pagerduty.com/GPG-KEY-RPM-pagerduty
EOF'

2、yum安装

1
yum install pdagent pdagent-integrations

3、查看状态

1
2
service pdagent status
pd-queue status #看队列情况

好了,这东西是python写的,懂的可以看看,写的比较工整。

补充下日志在/var/log/pdagent/下。

配置nagios

1、获取nagios配置文件。

1
wget https://raw.githubusercontent.com/PagerDuty/pdagent-integrations/master/pagerduty_nagios.cfg

2、移动配置到nagios的etc下面的某个地方。

1
mv pagerduty_nagios.cfg /etc/nagios

3、修改nagios.cfg的配置添加。

1
cfg_file=/etc/nagios/pagerduty_nagios.cfg

4、配置nagios让nagios通知到pd上。参考如下:

1
2
3
4
5
define contactgroup{ 
     contactgroup_name admins 
     alias Nagios Administrators 
     members nagiosadmin,pagerduty ; Add pagerduty here
}

5、重启nagios看看哇。

【验证】

在服务器上看pd的状态。

1
2
3
4
shell# pd-queue status
Service Key                           Pending   Success  In Error
=================================================================
这个是秘密字段            0         9         0

看看前端管理页面上的信息