向Telegram通知Monit的警报的配置教程

1,056 阅读2分钟

Monit是一个开源的工具,用于监视你的机器的进程、文件、目录、文件系统、磁盘等。

Monit通过一个名为MONITRC的简单配置文件进行控制。我拿了一台Ubuntu机器来安装Monit。Monit的配置文件位于Home目录下。

在这篇文章中,我们将配置Monit向Telegram信使发送警报。

要完成这个设置,只有五个步骤

  1. 在你的机器上安装MONIT
  2. 启用Monit网页界面
  3. 创建一个Telegram机器人
  4. 警报配置
  5. 用NGINX测试

1.在Ubuntu机器上安装Monit

我们要做的第一件事是安装Monit并使其在我们的机器上运行。

**第1步:**用最新的软件包更新你的基本系统

$ sudo apt-get update

第2步: 现在使用下面的命令安装Monit

$ sudo apt-get install monit -y

3步: 安装后,需要启动并启用该服务。

$ systemctl start monit
$ systemctl enable monit

**第4步:**Monit状态检查

 $ systemctl status monit

2.启用Monit网络界面

网页界面将有助于列出我们用Monit监控的所有资源。

第1步:导航

Monit的默认端口是2812

Monit的主要配置文件位于

/etc/monit/monitrc

第2步:编辑monitrc

你可以编辑以下内容,也可以在这里添加一个新的配置。

第4步:访问Monit web

现在访问Monit的web界面

3.Telegram bot

为了接收来自Monit的警报信息,需要Telegram bot。

我们需要Telegram的两个ID。

  1. Token ID
  2. 聊天ID

步骤1:令牌ID

创建一个Telegram机器人

进入你的Telegram应用程序并搜索Bot Father

**输入 /newbot并给机器人起个名字

一旦创建了机器人,它将给我们一个令牌ID。保存这个ID,以便以后使用

第2步:聊天ID

现在使用以下网址来获得一个聊天ID

http://api.telegrams.org/bot<token-id>/getupdates
example:
https://api.telegram.org/bot5184745265:AAFTwpyJRtpeFF6czU46-y34Qq8zGfBqypE/getupdates

结果。

聊天ID将出现在该网页上。只需将其复制到剪贴板上供以后使用。

4.警报配置

让我们看看一个简单的脚本,将Monit警报发送到Telegram机器人上。当执行该脚本时,Monit设置了一些环境变量,并将这些变量转化为文本信息,并通过管道将其传送给Telegram。

第1步:文件

我们需要三个文件来配置警报机制

i. monit2telegram.sh

ii.Sendtelegram.sh

iii.Telegramrc

git clonegithub.com/matriphe/mo…

将上述软件库克隆到你的机器上。

第二步:编辑Telegramrc

编辑Telegramrc文件并提供你的token和聊天ID。

$ sudo vi /etc/telegramrc

第3步:复制文件并使其可执行

cp sendtelegram.sh /usr/local/bin/sendtelegram
chmod+x /usr/local/bin/sendtelegram
cp monit2telegram.sh /usr/local/bin/monit2telegram
chmod+x /usr/local/bin/monit2telegram

第4步:测试脚本

通过运行这个命令测试sendtelegram脚本。

# sendtelegram -c /etc/telegramrc -m “Hello from the other side!”

输出。

信息将被传递到你的telegram信使,如下所示

Monit和telegram之间的连接已经完成。

现在是检查的时候了

5.用NGINX测试

步骤1:安装NGINX

在你的机器上安装NGINX

$ sudo apt-get install nginx

步骤**2: 配置monitrc

我们将在monitrc文件中设置一些配置,以寻找 "PID "的变化,如果发生任何变化,就会向telegram发出警报。

现在,一个进程ID被创建在

var/run/Nginx.pid

monitrc。

编辑你的monitrc文件。

check process nginx with pidfile /var/run/nginx.pid 

你可以在你的网页界面上看到Nginx进程。

第3步:测试

关闭Nginx服务并重新启动它。当 "PID "发生变化时,警报信息将被发送到Telegram。

结果。

就这样,我们已经配置了警报机制。