今天测试部署Zabbix,本来以前是正常的,今天莫名其妙报错。测试后发现是Augeas出现问题,无论如何都不执行。于是采用调试模式:

puppet agent --test --verbose --debug

然后捕捉到了下面的信息:

Debug: Augeas[update-php-parma](provider=augeas): Opening augeas with root /, lens path , flags
Debug: Augeas[update-php-parma](provider=augeas): Augeas version 0.9. is installed
Debug: Augeas[update-php-parma](provider=augeas): Loading failed for one or more files, output from /augeas//error:
Debug: Augeas[update-php-parma](provider=augeas): /augeas/files/etc/ntp.conf/error/pos =
Debug: Augeas[update-php-parma](provider=augeas): /augeas/files/etc/ntp.conf/error/line =
Debug: Augeas[update-php-parma](provider=augeas): /augeas/files/etc/ntp.conf/error/char =
Debug: Augeas[update-php-parma](provider=augeas): /augeas/files/etc/ntp.conf/error/lens = /usr/share/augeas/lenses/dist/ntp.aug:115.14-118.40:
Debug: Augeas[update-php-parma](provider=augeas): /augeas/files/etc/ntp.conf/error/message = Iterated lens matched less than it should
Debug: Augeas[update-php-parma](provider=augeas): Will attempt to save and only run if files changed
Debug: Augeas[update-php-parma](provider=augeas): sending command 'set' with params ["/etc/php.ini/PHP/date.timezone", "Asia/Shanghai"]
Debug: Augeas[update-php-parma](provider=augeas): sending command 'set' with params ["/etc/php.ini/PHP/post_max_size", "16M"]
Debug: Augeas[update-php-parma](provider=augeas): sending command 'set' with params ["/etc/php.ini/PHP/max_execution_time", ""]
Debug: Augeas[update-php-parma](provider=augeas): sending command 'set' with params ["/etc/php.ini/PHP/max_input_time", ""]
Debug: Augeas[update-php-parma](provider=augeas): sending command 'set' with params ["/etc/php.ini/MySQL/mysql.default_socket", "/mysql/var/mysql.sock"]
Debug: Augeas[update-php-parma](provider=augeas): Skipping because no files were changed
Debug: Augeas[update-php-parma](provider=augeas): Closed the augeas connection

首先,没有修改过ntp.conf文件,所以很纳闷啊~(呵呵,刚想起来,ntp.conf中的server写成service,所以才会报错,一个小坑……)

在app_zabbix::conf中的配置节是这么写的

augeas {"update-php-parma" :
context => "/etc/php.ini",
changes => [
"set PHP/date.timezone Asia/Shanghai",
"set PHP/post_max_size 16M",
"set PHP/max_execution_time 300",
"set PHP/max_input_time 300",
"set MySQL/mysql.default_socket /mysql/var/mysql.sock",
],
notify => Service["httpd"],
}

后来在测试机上测试了下,需要安装augeas:

augtool> set "/etc/php.ini/PHP/date.timezone" "Asia/Shanghai"
augtool> save
augtool> get "/etc/php.ini/PHP/date.timezone"
/etc/php.ini/PHP/date.timezone = Asia/Shanghai

直接在命令行中执行就失败(话说我写日志的时候就OK了,之前怎么弄都无法写入)。

呃……解决办法是,所有的context都必须是/files下的,如

augeas {"update-php-parma" :
context => "/files/etc/php.ini",
changes => [
"set PHP/date.timezone Asia/Shanghai",
"set PHP/post_max_size 16M",
"set PHP/max_execution_time 300",
"set PHP/max_input_time 300",
"set MySQL/mysql.default_socket /mysql/var/mysql.sock",
],
notify => Service["httpd"],
}

我去撞墙了……之前写成file当然没用了,后来又去掉了,这就是不认真看官方文档的下场……

Puppet学习:Augeas的怪问题的更多相关文章

  1. Puppet学习笔记(CentOS6.3+Puppet3.01)

    Puppet学习笔记(CentOS6.3+Puppet3.01)  技术 Add comments Oct262012 下了决心,好好学习puppet,周末专门去参加一个puppet的培训,难得朋友那 ...

  2. puppet学习笔记(二)

    在puppet安装完成之后我们就可以动手开始第一个puppet实验了,此实验就以批量推送文件为例吧. 1.获取module路径 这里的module就是指一个模块,可以把puppet想象成一个个项目的部 ...

  3. puppet学习笔记(一)

    之前搞了一个月zabbix,基本上是能熟练使用了,不过在后来部署的时候发现这玩意在部署的时候机子少还行,机子多了手动安装手会残的.第一反应是用puppet,后来师父直接用puppet搞定了.索性自己也 ...

  4. Puppet学习:pp文件权限问题

    由于内网的Puppet还是在测试中,所以对文件权限等内容未做过多关注. 今天报了错误: Error: Could not retrieve catalog from remote server: Er ...

  5. puppet学习:文件夹权限的问题

    之前Zabbix自动部署的文件夹结构总觉得别扭,今天下午抽空调整了下.调整完后,依然是例行的测试. 在客户端执行puppet agent -t时,报错如下: Failed to generate ad ...

  6. puppet学习:类与类的依赖关系的问题

    今天在部署Zabbix的Proxy时,在负责安装的Exec中去掉了一些无关的Package的依赖,结果,就出现了依赖关系的问题. 在zabbix::install中,我写的是require mysql ...

  7. puppet学习笔记

    puppet优势:容易理解.用户较多.门槛低.简单.安装配置文件较少 puppet使用Ruby语言开发,安装puppet需要安装Ruby puppet运行环境:Redhat.Centos.Window ...

  8. Centos 7 Puppet之foreman介绍安装测试

    一.简介 1.前言(引用一下网上的资料) 随着企业的 Linux 系统数量越来越多,管理问题便成为一个相对麻烦并需要急 迫解决的问题,这里有 2 个 Key Message:1)统一管控体系非常重要, ...

  9. 配置管理工具 Puppet的安装和使用

    今天碰到一个linux下的puppet的问题,才发现原来这个是 用ruby语言编写的自动化的管理工具.有兴趣的同学,可以学习下. 这里重点讲述下 mac下 puppet的安装方法: 在Mac下采用Gi ...

随机推荐

  1. 远程连接mysql数据库提示:ERROR 1130的解决办法

    From: http://blog.sina.com.cn/s/blog_716844910100welz.html 在linux下使用mysql客户端连接远程mysql服务器报错: [root@Se ...

  2. jquery-插入兄弟元素

    1.after方法 在匹配元素集合中的每个元素的 后面 插入参数所指定的内容,作为其兄弟节点 参数类型说明: 1)普通字符串(可包含各种html标签) $('div').after('html字符串' ...

  3. svn merge和branch分析

    [转载] 使用svn几年了,一直对分支和合并敬而远之,一来是因为分支的管理不该我操心,二来即使涉及到分支的管理,也不敢贸然使用合并功能,生怕合并出了问题对团队造成不良影响,最主要的原因是,自己对分支的 ...

  4. swift开发之 -- ? 和 ! 的作用

    记录下这个知识点: 一般我们在一下两种情况会遇到 ? 和 !的使用 1,声明变量时 var number:Int? var str:String? 2,在对变量进行操作时 number?.hasVal ...

  5. SVN迁移及备份的方法【转】

    转自: http://spiritfrog.iteye.com/blog/448578 + http://magnet2008.iteye.com/blog/586578 备份策略 ========= ...

  6. java生成webservice方法

    参考: https://note.youdao.com/ynoteshare1/index.html?id=c10324bb3b794baece3d2ae9faadc5c1&type=note

  7. JS中保留小数位数

    一.1.2.toFixed(2)

  8. C# EMS Client

    从 C# 客户端连接 Tibco EMS 下面例子简要介绍 C# 客户端怎样使用 TIBCO.EMS.dll 来连接 EMS 服务器. using System; using System.Diagn ...

  9. Ubuntu 如何更改用户密码

    你需要为第一个帐户创建一个密码.这可以用 passwd 命令来完成. 系统会提示输入你的旧密码一次,输入你的新密码两次.用 root 用户更改用户 paul 的密码[root@bigboy root] ...

  10. 2012Noip提高组Day2 T3 疫情控制

    题目描述 H 国有 n 个城市,这 n 个城市用 n-1 条双向道路相互连通构成一棵树,1 号城市是首都,也是树中的根节点. H 国的首都爆发了一种危害性极高的传染病.当局为了控制疫情,不让疫情扩散到 ...