今天测试部署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. layer弹出层效果

    layer是一款近年来备受青睐的web弹层组件,她具备全方位的解决方案,致力于服务各水平段的开发人员,您的页面会轻松地拥有丰富友好的操作体验. http://layer.layui.com/ 演示:h ...

  2. 不错的源码演示:admin5源码

    admin5源码官网:http://down.admin5.com/ 集资讯,源码,字体,itchat于一体的网站,可以下载喔! 实际项目中可以用得到.

  3. c++ 用构造函数

    1.c++ 用构造函数创建一个对象时,对象里的属性应该是全新的不存在把之前的属性留下的问题.之所以debug里会存在上一个变量的信息,应该是debug里的一个bug,与程序无光.

  4. 解决 SharePoint 2010 拒绝访问爬网内容源错误的小技巧(禁用环回请求的两种方式)

    这里有一条解决在SharePoint 2010搜索爬网时遇到的“拒绝访问错误”的小技巧. 首先要检查默认内容访问帐户是否具有相应的访问权限,或者添加一条相应的爬网规则.如果目标资源库是一个ShareP ...

  5. BDIP和BVLC纹理分析

    Young Deok Chun 等人提出了基于 BVLC 矩和 BDIP 矩的一种纹理分析方法.BVLC 能显示粗糙和光滑特性,BDIP 能够很好的提取波谷和边缘.它们直接在彩色空间上进行处理,能有效 ...

  6. 定义的函数在main中调用时提示找不到标识符

    要把定义的函数放在main函数前,如果放在main函数后了,要在main前做声明.声明就是把函数定义的首部一行加一个分号放在main之前. 在c语言中自定义了一个函数,在main中调用时提示找不到标识 ...

  7. iOS 开发 - iOS 8 以后使用UIAlertController的使用

    最近在写项目的时候,发现使用alertview和actonsheet会报警告,所以就查了一下,发现ios 9 以后会使用UIAlertController来进行操作, 具体代码如下: 1.声明 #im ...

  8. 连接oracle服务器超慢--原因分析

    连接oracle服务器超慢:有如下原因可能会影响. 网络不好:oracle服务器跟本地网络不好. oracle服务器内存不足:导致反应超慢 监听日志listener.log太大:导致响应超慢. 所以对 ...

  9. 《C++ Primer Plus》第10章 对象和类 学习笔记

    面向对象编程强调的是程序如何表示数据.使用 OOP 方法解决编程问题的第一步是根据它与程序之间的接口来描述数据,从而指定如何使用数据.然后,设计一个类来实现该接口.一般来说,私有数据成员存储信息,公有 ...

  10. PHP之Smarty模板引擎

    前面的话 对PHP来说,有很多模板引擎可供选择,但Smarty是一个使用PHP编写出来的,是业界最著名.功能最强大的一种PHP模板引擎.Smarty像PHP一样拥有丰富的函数库,从统计字数到自动缩进. ...