AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-121905

Lee Lowder's questions

Martin Hope
Lee Lowder
Asked: 2012-07-20 07:57:42 +0800 CST

将 hiera 与 puppetlabs-spec-helper 一起使用的正确方法?

  • 2

我正在尝试为我的模块编写一些 rspec 测试。他们中的大多数人现在都在使用hiera。

我有一个 .fixures.yml:

fixtures:
  repositories:
    stdlib: https://github.com/puppetlabs/puppetlabs-stdlib.git
    hiera-puppet: https://github.com/puppetlabs/hiera-puppet.git
  symlinks:
    mongodb: "#{source_dir}"    

和一个 spec/classes/mongodb_spec.rb:

require 'spec_helper'

describe 'mongodb', :type => 'class' do

  context "On an Ubuntu install, admin and single user" do
    let :facts do
      {
        :osfamily => 'Debian',
        :operatingsystem => 'Ubuntu',
        :operatingsystemrelease => '12.04'
      }
    end

    it {
      should contain_user('XXXX').with( { 'uid' => '***' } )
      should contain_group('XXXX').with( { 'gid' => '***' } )
      should contain_package('mongodb').with( { 'name' => 'mongodb' } )
      should contain_service('mongodb').with( { 'name' => 'mongodb' } )
    }
  end
end

但是当我运行规范测试时,我得到:

# rake spec
/usr/bin/ruby1.8 -S rspec spec/classes/mongodb_spec.rb --color
F

Failures:

  1) mongodb On an Ubuntu install, admin and single user
     Failure/Error: should contain_user('XXXX').with( { 'uid' => '***' } )
     LoadError:
       no such file to load -- hiera_puppet
     # ./spec/fixtures/modules/hiera-puppet/lib/puppet/parser/functions/hiera.rb:3:in `function_hiera'
     # ./spec/classes/mongodb_spec.rb:15

Finished in 0.05415 seconds
1 example, 1 failure

Failed examples:

rspec ./spec/classes/mongodb_spec.rb:14 # mongodb On an Ubuntu install, admin and single user
rake aborted!
/usr/bin/ruby1.8 -S rspec spec/classes/mongodb_spec.rb --color failed

Tasks: TOP => spec_standalone
(See full trace by running task with --trace)

模块规范测试相对较新,hiera 也是如此。到目前为止,我一直无法找到任何合适的解决方案。(关于 puppet-dev 的来回讨论很有趣,但没有帮助)。

我需要进行哪些更改才能使其正常工作?由于公司政策的原因,从 gem 安装 puppet 并破解 ruby​​lib 并不是一个可行的解决方案。

我正在使用 Ubuntu 12.04 LTS + Puppet 2.7.17 + hiera 0.3.0。

puppet
  • 3 个回答
  • 2838 Views
Martin Hope
Lee Lowder
Asked: 2012-06-14 10:23:03 +0800 CST

修复 graylog2 网络界面上的严重性

  • 2

我正在使用 logstash 从一组 webapps 中收集日志并将它们发送到 graylog2 以供集中查看。

我有以下用于标记化的过滤器:

 grok {
   type => "webapps"
   pattern => "^%{TIME:timestamp} \[%{NOTSPACE:thread}\]%{SPACE}%{WORD:loglevel}%{SPACE}%{JAVACLASS:class} - %{GREEDYDATA:short_message}"
   drop => false
   debug => "true"
   add_tag => [ "%{loglevel}" ]
 }

日志级别将按照 TRACE、DEBUG、INFO、NOTICE、ERROR、FATAL 的顺序排列。

最初,所有内容都显示为“警报”(在 ruby​​/graylog-server 中的数值为 5,并在源代码中标记为“未知”)。

然后我添加了一系列 mutate 过滤器,比如这个:

 mutate {
   type => "webapps"
   tags => "INFO"
   add_tag => [ "ll_%{@level}", "mutated" ]
   replace => [ "@level", "6" ] # informational
 }

这让我更接近显示在网络界面中的正确日志级别/严重性,但所有“信息”消息都显示为调试消息。

我写了一个脚本来查看 elasticsearch 数据并根据它应该是什么来设置级别字段。

  • 调试:7
  • 信息 : 6
  • 警告:4
  • 错误:3
  • 关键:2

0、1 和 5 级未被使用,因为消息来源表明这些是保留的。

但是这个脚本在资源方面很昂贵,而且当它试图更新的数据集以每秒数百或数千条消息的速度增长时,我认为它不会很好地工作。

我注意到的另一件事是,当我在标签中使用类似“@source”的内容时,会显示正确的值。当我执行“@level”时,我将其作为文字插入,这表明它不是已指示的预定义字段。

我已经稍微查看了资料来源,但并不详尽,所以我可能只是错过了它。

问题是,我需要在我的 mutate 过滤器中更改什么才能使“信息”在 graylog2 界面中显示为“信息”?

graylog logstash
  • 1 个回答
  • 1979 Views
Martin Hope
Lee Lowder
Asked: 2012-05-24 08:16:12 +0800 CST

Octopussy 可以使用 syslog 样式以外的消息吗?

  • 2

我目前正在探索集中式日志服务器的不同选项。我们同时使用 Linux(Ubuntu 10.04 / 12.04,两者都是 LTS)和 Windows,尽管对于这个特定问题只有 Linux 是相关的。

我喜欢Octopussy的界面和它的功能列表,但由于一些事情我犹豫不决。我最大的担忧之一是它似乎只是系统日志。

最终目标是为我们的开发人员和管理员提供一个集中的位置,以便能够为我们的生产环境和测试环境搜索 Apache、Tomcat 和分布在集群中的 70 多个 Web 应用程序生成的日志。

虽然我确实看到Octopussy支持插件,但我一直无法找到任何类型的插件回购或关于可以用它们做什么的深入指南。

有谁知道插件是否可用于允许Octopussy处理非系统日志消息?特别是 log4j 类型的日志消息,可能包括多行堆栈跟踪等。

此外,该软件是否有用户社区,例如邮件列表或论坛?到目前为止,我一直找不到任何东西。

ubuntu logging
  • 1 个回答
  • 1081 Views
Martin Hope
Lee Lowder
Asked: 2012-05-23 13:52:38 +0800 CST

检查是否从 bash 脚本安装了 ruby​​ gem

  • 14

我需要从 bash 脚本检查是否安装了某些 Ruby gems。

我以为我可以做类似的事情

if ! gem list <name>; then do_stuff; fi

但是在命令行上使用echo $?shows进行测试,gem list <name>无论是否实际找到名称,都会返回 0。

这是否意味着我必须使用 grep 来过滤 gem 列表的输出,或者是否有更好的方法可以检查是否安装了 gem?

bash gem
  • 3 个回答
  • 15437 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve