NAME — pynag 0.8.5 documentation

### Navigation

- index
- modules |
- pynag 0.8.5 documentation »

# NAME

## SYNOPSIS

pynag <sub-command> [options] [arguments]

## DESCRIPTION

pynag is a command-line utility that can be used to view or change current nagios configuration.

## sub-commands

list

> print to screen nagios configuration objects as specified by a WHERE clause

> > pynag list [attribute1] [attribute2] [WHERE ...]

update

> modify specific attributes of nagios objects as specified by a WHERE and SET clause

> > pynag update set attr1=value WHERE attr=value and attr=value

delete

> Delete objects from nagios configuration as specified by a WHERE clause

> > pynag delete delete <WHERE ...>

add

> Add a new object definition

> > pynag add <object_type> <attr1=value1> [attr2=value2]

copy

> Copy objects, specifiying which attributes to change

> > pynag copy <WHERE ...> <SET attr1=value1 [attr2=value2] ...>

execute

> Executes the currently configured check command for a host or a service

> > pynag execute <host_name> [service_description]

config

> modify values in main nagios configuration file (nagios.cfg)

> > pynag config [–set <attribute=value>] [–old_value=attribute]
> > pynag config [–append <attribute=value>] [–old_value=attribute]
> > pynag config [–remove <attribute>] [–old_value=attribute]
> > pynag config [–get <attribute>]

## WHERE statements

Some Subcommands use WHERE statements to filter which objects to work with. Where has certain similarity with SQL syntax.

Syntax:
  WHERE <attr=value> [AND attr=value] [OR attr=value]
  [another where statement]

  where “attr” is any nagios attribute (i.e. host_name or service_description).

Example:
  pynag list WHERE host_name=localhost and object_type=service
  pynag list WHERE object_type=host or object_type=service

Any search attributes have the same syntax as the pynag filter. For example these work just fine:

> pynag list WHERE host_name__contains=production
> pynag list WHERE host_name__startswith=prod
> pynag list WHERE host_name__notcontains=test
> pynag list host_name address WHERE address__exists=True
> pynag list host_name WHERE register__isnot=0

The pynag filter supports few parameters that are not just attributes.

Example:

- filename – The filename which the object belongs
- id – pynag unique identifier for the object
- effective_command_line – command which nagios will execute

Of course these can be combined with the pynag filter syntax:

> pynag list where filename__startswith=/etc/nagios/conf.d/
> pynag list host_name service_description effective_command_line

For detailed description of the filter see pydoc for pynag.Model.ObjectDefintion.filter()

## SET statements

Subcommands that use SET statements (like update or copy) use them a list of attributes change for a specific object.

Syntax:
  SET <attr1=value1> [attr2=value2] [...]
Example:
  pynag update SET address=127.0.0.1 WHERE host_name=localhost and object_type=host

## EXAMPLES

### List all services that have “myhost” as a host_name

pynag list host_name service_description WHERE host_name=myhost and object_type=service

### Set check_period to 24x7 on all services that belong to host “myhost”

pynag update set check_period=24x7 WHERE host_name=myhost

### list examples

pynag list host_name address WHERE object_type=host
pynag list host_name service_description WHERE host_name=examplehost and object_type=service

### update examples

pynag update SET host_name=newhostname WHERE host_name=oldhostname
pynag update SET address=127.0.0.1 WHERE host_name=’examplehost.example.com’ and object_type=host

### copy examples

pynag copy SET host_name=newhostname WHERE host_name=oldhostname
pynag copy SET address=127.0.0.1 WHERE host_name=’examplehost.example.com’ and object_type=host

### add examples

pynag add host host_name=examplehost use=generic-host address=127.0.0.1
pynag add service service_description=”Test Service” use=”check_nrpe” host_name=”localhost”

### delete examples

pynag delete where object_type=service and host_name=’mydeprecated_host’
pynag delete where filename__startswith=’/etc/nagios/myoldhosts’

### execute examples

pynag execute localhost
pynag execute localhost “Disk Space

## Additional Resources

See http://github.com/pynag/pynag.git for more information.

### Navigation

- index
- modules |
- pynag 0.8.5 documentation »