我的任务是将mysql的my.cnf模板化,以便使用puppet将从属数据库之间的配置标准化。现在,我的目标是innodb设置。
是否有可以根据硬件规范(如内存、磁盘和进程)安全计算的配置选项?

最佳答案

你需要制造者。

puppet:/etc/puppet/modules/master/lib/facter$ cat disks.rb
#!/usr/bin/ruby
#require 'facter'

mount = `/bin/mount`
disks=Array.new
mount.split("\n").each_with_index { | disk,i |
  unless disk.scan(/ext3|simfs|reiserfs|xfs/).empty?
    d=disk.split[2]
    disks.push d
    disks.push ','
 end
}

Facter.add('disks') do
 setcode do
   disks
 end
end

`
在puppet.pp中,我使用facts$disks
#add disk check to zabbix
exec { "create_host":
    command => "/bin/echo $fqdn $ipaddress $disks | do_work",
    require => File["/root/ticket"],
    subscribe => File["/root/ticket"],
    refreshonly => true,
}

请参阅Puppet Labs上的“向Factor添加自定义事实”。

10-06 03:08