• 服务器监控netdata面板配置邮件服务


    之前用过zabbix和prometheus监控服务器状态,但是对于小型项目来说感觉还是太重,最近发现一个相对轻量的监控面板netdata

    docker安装
    官方

    1. docker run -d --name=netdata  \
    2.   -p 19999:19999 \
    3.   -v /proc:/host/proc:ro  \
    4.   -v /sys:/host/sys:ro  \
    5.   -v /var/run/docker.sock:/var/run/docker.sock:ro  \
    6.   --restart unless-stopped  \
    7.   --cap-add SYS_PTRACE \
    8.   --security-opt apparmor=unconfined \
    9.   netdata/netdata

    其他第三方容器  titpetric/netdata
    访问
    http://ip:19999

    如图

    邮件告警配置
    netdata参考:https://learn.netdata.cloud/docs/agent/health/notifications/email
    msmtprc邮件配置文件参考 https://marlam.de/msmtp/msmtprc.txt

    编辑配置文件

    vi /root/.msmtprc

    yandex邮箱配置示例内容

    1. defaults
    2. port 465
    3. tls on
    4. tls_starttls off
    5. account yandex
    6. host smtp.yandex.com
    7. from zabbix@mail.abc.com
    8. auth login
    9. user zabbix@mail.abc.com
    10. password 12345678
    11. account default : yandex

    QQ邮箱配置示例内容

    1. defaults
    2. port 465
    3. tls on
    4. tls_starttls off
    5. logfile /var/log/msmtp.log
    6. account qqwork
    7. host smtp.exmail.qq.com
    8. from abc@example.net.cn
    9. auth login
    10. user abc@example.net.cn
    11. password 12345678
    12. account default : qqwork

    改权限

    chmod 600 /root/.msmtprc

    测试发邮件

    echo "来自msmtp发出的告警邮件" | msmtp -d your@email.com

    上述邮件没有主题可能会被当做垃圾邮件处理,建议改用下面的方式

    echo -e "Subject: 你好\n\n这是来自msmtp发出的告警邮件." | msmtp -d your@email.com

    其中-e开启\n换行转义,用两个换行使主题和正文分开


    或者使用html方式发邮件

    vi sample.html


    内容如下

    1. From: sender@mail.com
    2. To: recipient@mail.com
    3. Subject: This is the Subject
    4. Mime-Version: 1.0
    5. Content-Type: text/html
    6. <html>
    7.   <head>This is Email Head</head>
    8.   <body>
    9.     <h2>This is the Main Title</h2>
    10.     <p>This is the body text</p> 
    11.   </body>
    12. </html>

    发送邮件

    cat sample.html |  msmtp -d recipient@mail.com

    其他常见问题

    1.配置文件中auth方式是on,但是yandex和qq企业邮箱并不支持,可以通过下面这个命令查看服务器支持auth的方式

    1. msmtp --host=smtp.yandex.com --serverinfo
    2. msmtp --host=smtp.exmail.qq.com --serverinfo

    2.debug信息报错,停留在reading recipients from the command line 
    解决方法:在.msmtprc配置文件添加配置tls_starttls off

  • 相关阅读:
    如何快速上手短视频创作,有什么建议吗?
    带你玩转序列模型之Bleu得分&注意力模型&语音识别
    Day26、认识数据库
    优化单元测试效率:Spring 工程启动耗时统计
    MyBatis bind标签起什么作用呢?
    flutte: 可滚动列表
    string类
    java多线程保证顺序执行
    TongWeb8下应用忙碌线程监控
    达梦在备份数据库时报错归档日志不连续
  • 原文地址:https://blog.csdn.net/gsls200808/article/details/125441574