官术网_书友最值得收藏!

  • Puppet 2.7 Cookbook
  • John Arundel
  • 413字
  • 2021-04-02 18:19:58

E-mailing log messages containing specific tags

If, like most sysadmins, you feel like you don't get enough e-mail, you'll be looking for a way to generate more. Another type of Puppet report is called tagmail. This will e-mail the log messages to any address you specify.

How to do it…

  1. Add tagmail to the comma-separated list of reports in puppet.conf:
    [master]
    reports = store,tagmail
  2. Add some tags and associated e-mail addresses in the file /etc/puppet/tagmail.conf. For example, this line will e-mail all log messages to me:
    all: john@example.com
  3. When Puppet runs, you will get an e-mail that looks like the following:
    From: report@cookbook.bitfieldconsulting.com
    Subject: Puppet Report for cookbook.bitfieldconsulting.com
    To: john@example.com
    Mon Jan 17 08:42:30 -0700 2011 //cookbook.bitfieldconsulting.com/Puppet (info): Caching catalog for cookbook.bitfieldconsulting.com
    Mon Jan 17 08:42:30 -0700 2011 //cookbook.bitfieldconsulting.com/Puppet (info): Applying configuration version '1295278949'

How it works…

Puppet looks at each line in tagmail.conf and sends any messages matching the tag to the e-mail address specified. The special tag all matches all messages. The tag err matches errors as shown in the following code snippet:

err: john@example.com

You can list as many rules as you like in the tagmail.conf file, and Puppet will send e-mails for all rules that match. In the following example, errors go to one address, and web server related messages go to another:

err: puppetmaster@example.com
webserver: webteam@example.com

There's more…

The tagmail reports are a powerful feature which you may need to experiment with a bit so that you can get the most out of them. I have given a few tips to help you in the following text.

What are tags?

Tags are explained in more detail later in this book, but for reporting purposes, it's enough to know that a tag can be the name of a node or a class. For example, the tag webserver is matched if a machine includes the class webserver. You can also add a tag explicitly, using the tag function as follows:

class exim {
    tag("email")
    service { "exim4":
        ensure => running,
        enable => true,
    }
}

Specifying multiple tags, or excluding tags

You can specify a comma-separated list of tags in tagmail.conf, and also exclude certain tags by using an exclamation point (!).

all, !webserver: puppetmaster@example.com

Sending reports to multiple e-mail addresses

You can send messages to multiple, comma-separated e-mail addresses as shown in the following code-snippet:

err: puppetmaster@example.com, sysadmin@example.com

See also

  • Generating reports in this chapter
  • Creating graphical reports in this chapter
  • Using tags in this chapter
主站蜘蛛池模板: 同仁县| 沐川县| 出国| 江北区| 桐柏县| 秦安县| 新丰县| 车险| 巩义市| 彩票| 连云港市| 台北县| 贺州市| 抚顺县| 文昌市| 西乌珠穆沁旗| 昌邑市| 乌兰县| 台安县| 尚志市| 民权县| 株洲市| 镇平县| 诸暨市| 沂水县| 潼南县| 朝阳区| 丰镇市| 科技| 隆安县| 海城市| 板桥市| 公安县| 涡阳县| 霍林郭勒市| 闵行区| 五寨县| 凉城县| 澄江县| 六盘水市| 龙山县|