[Zabbix series] Alarm System Setting and Elimination

Source: Internet
Author: User

[Zabbix series] Alarm System Setting and Elimination
There are many solutions for email alert. Here we choose the msmtp + mutt solution with better stability.

A good solution is that you do not need to build an independent mail server on your own. You can use third-party mail. This method not only effectively solves the problem that unknown email addresses are processed as spam emails, at the same time, the third-party stable services provide accurate and timely alarms.

In fact, the most important thing is that msmtp can use gmail.

We need two components: msmtp and mutt. msmtp is the key to sending emails, and mutt is used to optimize msmtp.
[Msmtp]
Sudo apt-get install-y msmtp
Configure msmtp
Touch/var/log/msmtp. log


Vim ~ /. Msmtprc


Account default
Host smtp.126.com
Port 25
From cl0554@126.com
Auth login
Tls off
User cl0554@126.com
Password xxxxxxx
Logfile/var/log/msmtp. log


Chmod 600. msmtprc
Chown zabbix. zabbix/var/log/zabbix-R
Chown zabbix. zabbix/var/log/msmtp. log
Chmod 777/var/log/msmtp. log


[Mutt]
Install
Sudo apt-get install-y mutt
Sudo mv/etc/Muttrc. back
Sudo vim/etc/Muttrc


Set sendmail = "/usr/bin/msmtp" # path of your msmtp command
Set use_from = yes
Set realname = "cl0554@126.com"
Set editor = "vim"


Test email


Echo "hello zabbix" | mutt-s "zabbix test" chenlong0554@qq.com


[Zabbix configuration]
Modify the path of zabbix script
Sudo vim/etc/zabbix/zabbix_server.conf
AlertScriptsPath =/usr/local/zabbix/scripts/
Restart zabbix
Sudo service zabbix-server restart


Sudo mkdir-p/usr/local/zabbix/scripts/
Sudo chown zabbix. zabbix/usr/local/zabbix-R
Sudo vim/usr/local/zabbix/scripts/mail. sh
#! /Bin/sh
Echo "$3" | mutt-s "$2" $1


Sudo chown zabbix. zabbix mail. sh
Sudo chmod 777 mail. sh
Test script
./Mail. sh chenlong0554@qq.com zabbix test Hello zabbix


The zabbix web interface sets the email address to be sent through the media in the profile in the upper right corner.
Use the email in administrator-Media types on the toolbar to configure the mail sending method.
Type select script
The name is mail. sh.


PS: The web configuration of the alarm system is complicated. It is discussed in detail in the next section about mysql and basic system alarms. This section only implements the basic alarm function.



[The error message returned when zabbix is installed in a package cannot be reported]
If zabbix shows in the log and database that the email has been sent but you have not received the email.
Eliminate the issue of Blocking spam, that is, zabbix itself. There is no similar solution on the Internet, but the problem can be identified through analysis.


Analyze the problem:
1. The zabbix permission does not exist. The script has granted the highest permission and the owner group and user are both zabbix.
2. The script itself can correctly send and receive emails if it is directly executed by ubuntu users. Eliminate the script itself.
3. Since the zabbix log and DB both show that the mail has been sent, it means that at least zabbix is doing the sendmail operation, but it is not actually sent successfully. The root cause of the problem lies in the zabbix mail process.
4. We know that mutt calls msmtp to send an email, so zabbix should be like this in the mail sending process.
Trigger alert-> zabbix user calls bash-> execute mail. sh script
If the execution is successful, the message is sent successfully. If the execution fails, the email cannot be received.


Test and solve problems
1. manually log on to the zabbix user to simulate zabbix to send an email. We find that the first step will cause an error, because the zabbix user automatically created during apt-get installation of zabbix does not have the home directory or Login shell by default, at least zabbix should be given the bash call permission. Otherwise, zabbix users cannot successfully execute mail. sh script.
The solution is as follows:
Sudo vim/etc/passwd
Change/bin/false at the end of zabbix to/bin/bash.
After saving and exiting, use sudo su-zabbix to switch to zabbix. Although there is no home directory, there is a shell login.


2. Run the mail. sh test.
./Mail. sh chenlong0554@qq.com zabbix test Hello zabbix
Prompt
Msmtp: account default not found: no configuration file available
Error sending message, child exited 78 ().
Cocould not send the message.


Through msmtp, we understand that in the msmtp installed by apt-get, its configuration file is called by default in the home directory of the current user. msmtprc, although we have created it under the ubuntu user. this file is not found in the zabbix directory of msmtprc, so zabbix still cannot be used for msmtp.
The solution is as follows:
Sudo mkdir/home/zabbix
Sudo chown zabbix. zabbix-R/home/zabbix
Sudo vim/etc/passwd

Change/var/lib/zabbix of zabbix to/home/zabbix.

Sudo cp/home/ubuntu/. msmtprc/home/zabbix/. msmtprc

Chown zabbix. zabbix/home/zabbix/. msmtprc

Chmod 600/home/zabbix/. msmtprc

Run the test script again through the zabbix user!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.