Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Sep 18 2017 22:37

    shoekstra on use_nginx

    (compare)

  • Sep 18 2017 22:37

    tas50 on master

    Depend on nginx instead of chef… Use nginx >= 7.0 Merge pull request #552 from so… (compare)

  • Sep 18 2017 22:37
    tas50 closed #552
  • Sep 18 2017 22:14
    shoekstra synchronize #552
  • Sep 18 2017 22:14

    shoekstra on use_nginx

    Use nginx >= 7.0 (compare)

  • Sep 18 2017 22:12
    shoekstra commented #551
  • Sep 18 2017 22:11
    shoekstra commented #552
  • Sep 18 2017 22:11
    shoekstra commented #552
  • Sep 18 2017 22:09
    shoekstra closed #546
  • Sep 18 2017 22:09
    shoekstra commented #546
  • Sep 18 2017 22:06
    shoekstra synchronize #552
  • Sep 18 2017 22:06

    shoekstra on use_nginx

    Depend on nginx instead of chef… (compare)

  • Sep 18 2017 22:03
    shoekstra review_requested #551
  • Sep 18 2017 22:01
    shoekstra synchronize #551
  • Sep 18 2017 22:01

    shoekstra on release_8.0.0

    Release 8.0.0 (compare)

  • Sep 18 2017 22:00
    shoekstra review_requested #552
  • Sep 18 2017 22:00
    shoekstra review_requested #552
  • Sep 18 2017 22:00
    shoekstra opened #552
  • Sep 18 2017 21:59

    shoekstra on use_nginx

    Depend on nginx instead of chef… (compare)

  • Sep 18 2017 21:57
    shoekstra review_requested #551
Sander Botman
@sbotman
that's the only place I can think of since you have scanned all the databags...
bphinney
@bphinney
the role had a ['nagios']['graphite_prefix'] attribute set.
The actual node only had a ['graphite']['listen_port'] attribute
Sander Botman
@sbotman
oke..
bphinney
@bphinney
I don't see any _graphite_prefix attribute. Might be getting set by a recipe.
Is my thought.
Sander Botman
@sbotman
possible...
knife node edit NODE -a
then you see all attributes..
and I was saying it wrong, custom attributes can live on hosts, contacts and services if I read: https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/3/en/customobjectvars.html
this is what I tried to implement...
but I still don't understand why in your case it gives the error: undefined method `push' for #<Nagios::Command:0x000000106bc870>
Sander Botman
@sbotman
can you check one more thing for me....
once you are in the debug console, type: puts self.class
bphinney
@bphinney
Nagios::Command
Sander Botman
@sbotman
right..

so if we change this:

def update_hash_options(hash)
  hash.each do |k, v|
    push(Nagios::CustomOption.new(k.upcase, v)) if k.start_with?('_')
    m = k + '='
    send(m, v) if self.respond_to?(m)
  end
end

into this:

def update_hash_options(hash)
  hash.each do |k, v|
    if self.is_a?(Nagios::Service) || self.is_a?(Nagios::Contact) || self.is_a?(Nagios::Host)
      push(Nagios::CustomOption.new(k.upcase, v)) if k.start_with?('_')
    end
    m = k + '='
    send(m, v) if self.respond_to?(m)
  end
end
Sander Botman
@sbotman
this should remove your problem...
just don't know if it's the right solution...
bphinney
@bphinney
No, I just found the culprit
{
2 "id": "mem",
3 "hostgroup_name": "linux",
4 "command_line": "/usr/lib64/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c check_mem -t 20",
5 "_graphiteprefix": "qa.metrics.mem"
6 }
I want to thank you for all the help, it was really above and beyond.
Sander Botman
@sbotman
Well your welcome... I will make sure that this will not break within the new version.....
bphinney
@bphinney
That was totally my bad, your stuff had nothing to do with it.
It was a customized option to try to enable data profiling and we probably shouldn't have tried to customize to that extent without documenting what we were doing.
Sander Botman
@sbotman
well you helpt me... These settings should not break the cookbook and I know a way how to fix it....
bphinney
@bphinney
Thanks again, really helped me out.
Sander Botman
@sbotman
:thumbsup:
created schubergphilis/nagios#459 for this..
Ken Schmidt
@Maigard
for #459 , you could do something like
def update_hash_options(hash)
  hash.each do |k, v|
    push(Nagios::CustomOption.new(k.upcase, v)) if k.start_with?('_') && self.respond_to?('push')
    m = k + '='
    send(m, v) if self.respond_to?(m)
  end
end
It would only add custom options for objects that accept them, and doesn't break on objects that don't have a push method.
bphinney
@bphinney
the cookbook is producing a hostgroups.cfg definition of . rather than . Anyone know what causes this?
Nevermind, I found it.
Ilja Krauchanka
@ikrauchanka
/code

pardon

define contact {
        contact_name                    bi-pagerduty
        alias                           BI PagerDuty Pseudo-Contact
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    u,c,r
        host_notification_options       d,r
        service_notification_commands   notify-service-by-pagerduty
        host_notification_commands      notify-host-by-pagerduty
        pager                           jew0efj0ejf01j0enjkqnjwnqdk
        }

How we can define contact without email?

Deepak Kosaraju
@kkdk5535
email is not mandatory object for contact definition as per nagios doc - https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/3/en/objectdefinitions.html#contact, so I think @sbotman would have made library accordingly
I am still understanding custom resource and defintions in this cookbook - I may be wrong about how it is instrumented in the cookbook
Sander Botman
@sbotman
Well, nagios doesn't start if contacts don't have any email, so that's why I skip them.
Will need to look at the doc's again to understand this better.. will see if I have some time for this tomorrow.
The definitions are pushing all the objects to the memory model: Nagios.instance If you debug the chef-run with pry require 'pry';binding.pry you should be able to look at all the objects within the memory when you dump Nagios.instance.contacts for example.
At the last part the templates are writing all the objects to disk by calling the definition method
Sander Botman
@sbotman
Thanks for the tip @Maigard, I was thinking to make a push method within the base which prints debug information like : pushing the #{key} into the object #{self.class} is not supported. Then it just skips them with some output why..
Objects that do support the push method will overwrite it with the proper code accordingly
Ken Schmidt
@Maigard
Yeah, I like that. If you are making the assumption that all inherited classes are going to have the function, you can just make the guarantee that it will be there that way. Plus, the conditional line is getting long, and you wouldn't want to tempt the rubocop. :smile:
Ilja Krauchanka
@ikrauchanka
Hello guys,I cannot get one thing - why service definition appears in templates.cfg and how to move it to right direction -> servvices.cfg.
Service definition I took from wiki.
- update content in file /etc/nagios/conf.d/templates.cfg from 63f798 to 8cba53
    --- /etc/nagios/conf.d/templates.cfg    2015-11-16 10:39:36.261057411 -0500
    +++ /tmp/chef-rendered-template20151116-26917-wtvl6i    2015-11-16 10:40:00.724595242 -0500
    @@ -516,5 +516,18 @@
       register                      0
     }

    +define service {
    +  name                    wefwefwef-service
    +  service_description     wefwefwef-service
    +  check_command           wefwefwef-service
    +  active_checks_enabled   1
    +  passive_checks_enabled  1
    +  obsess_over_service     1
    +  check_freshness         0
    +  event_handler_enabled   1
    +  notifications_enabled   1
    +  parallelize_check       1
    +  register                0
    +}
Deepak Kosaraju
@kkdk5535
@ikrauchanka This is not service defintion as you mentioned register as 0
normally u don’t specify register as 0 for service defintion in nagios, we only do that for templates in best world of nagios implementation
Sander Botman
@sbotman
Remove the name. When specifying name it will register as template.
Ilja Krauchanka
@ikrauchanka
@sbotman aha, so then we should remove 'name ' from https://github.com/schubergphilis/nagios/wiki/services.cfg ?
Sander Botman
@sbotman
done