Skip to content
This repository was archived by the owner on Jul 6, 2021. It is now read-only.

D004 check with template, A005 check extended #128

Merged
merged 1 commit into from
Dec 7, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 81 additions & 0 deletions pghrep/templates/D004.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# `pg_stat_statements` and `kcache` settings #

## Current values ##

### Master DB server is `{{.hosts.master}}` ###

#### `pg_stat_statements` extension settings ####
{{ range $setting_name, $setting_data := (index (index (index .results .hosts.master) "data") "pg_stat_statements") }}
**Setting: `{{ $setting_name }}`**

Setting value: {{ $setting_data.setting }} {{ if $setting_data.unit }}{{ $setting_data.unit }} {{ end }}
Description: {{ $setting_data.short_desc }}
Category: {{ $setting_data.category }}
Type: {{ $setting_data.vartype }}
Source: {{ $setting_data.source }}
Source file: {{ $setting_data.sourcefile }}
{{ if $setting_data.min_val }}Min value: {{ $setting_data.min_val }} {{ end }}
{{ if $setting_data.max_val }}Max value: {{ $setting_data.max_val }} {{ end }}
{{ end }}

#### `kcache` extension settings ####
{{ range $setting_name, $setting_data := (index (index (index .results .hosts.master) "data") "kcache") }}
**Setting: `{{ $setting_name }}`**

Setting name: {{ $setting_data.name }}
Setting value: {{ $setting_data.setting }} {{ if $setting_data.unit }}{{ $setting_data.unit }} {{ end }}
Description: {{ $setting_data.short_desc }}
Category: {{ $setting_data.category }}
Type: {{ $setting_data.vartype }}
Source: {{ $setting_data.source }}
Source file: {{ $setting_data.sourcefile }}
{{ if $setting_data.min_val }}Min value: {{ $setting_data.min_val }} {{ end }}
{{ if $setting_data.max_val }}Max value: {{ $setting_data.max_val }} {{ end }}
{{ end }}


{{ if gt (len .hosts.replicas) 0 }}
### Slave DB servers: ###
{{ range $skey, $host := .hosts.replicas }}
#### DB slave server: `{{ $host }}` ####
{{ if (index $.results $host) }}
#### `pg_stat_statements` settings ####
{{ range $setting_name, $setting_data := (index (index (index $.results $host) "data") "pg_stat_statements") }}
**Setting: `{{ $setting_name }}`**

Setting name: {{ $setting_data.name }}
Setting value: {{ $setting_data.setting }} {{ if $setting_data.unit }}{{ $setting_data.unit }} {{ end }}
Description: {{ $setting_data.short_desc }}
Category: {{ $setting_data.category }}
Type: {{ $setting_data.vartype }}
Source: {{ $setting_data.source }}
Source file: {{ $setting_data.sourcefile }}
{{ if $setting_data.min_val }}Min value: {{ $setting_data.min_val }} {{ end }}
{{ if $setting_data.max_val }}Max value: {{ $setting_data.max_val }} {{ end }}
{{ end }}

#### `kcache` settings ####
{{ range $setting_name, $setting_data := (index (index (index $.results $host) "data") "kcache") }}
**Setting: `{{ $setting_name }}`**

Setting name: {{ $setting_data.name }}
Setting value: {{ $setting_data.setting }} {{ if $setting_data.unit }}{{ $setting_data.unit }} {{ end }}
Description: {{ $setting_data.short_desc }}
Category: {{ $setting_data.category }}
Type: {{ $setting_data.vartype }}
Source: {{ $setting_data.source }}
Source file: {{ $setting_data.sourcefile }}
{{ if $setting_data.min_val }}Min value: {{ $setting_data.min_val }} {{ end }}
{{ if $setting_data.max_val }}Max value: {{ $setting_data.max_val }} {{ end }}
{{ end }}
{{ end }}
{{ end }}
{{ end }}

## Conclusions ##

{{.Conclusion}}

## Recommendations ##

{{.Recommended}}
5 changes: 3 additions & 2 deletions resources/checks/A005_extensions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ sql=$(curl -s -L https://raw.githubusercontent.com/NikolayS/postgres_dba/4.0/sql
${CHECK_HOST_CMD} "${_PSQL} ${PSQL_CONN_OPTIONS} -f -" <<SQL
with data as (
$sql
), withsettins as (
select data.*, (select json_object_agg(pg_settings.name, pg_settings) from pg_settings where name ~ data.name) as settings from data
)
select json_object_agg(data.name, data) as json from data;

select json_object_agg(withsettins.name, withsettins) as json from withsettins;
SQL

10 changes: 10 additions & 0 deletions resources/checks/D004_ext_settings.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Collect pg_settings artifact
${CHECK_HOST_CMD} "${_PSQL} ${PSQL_CONN_OPTIONS} -f -" <<SQL
with stat_statements as (
select json_object_agg(pg_settings.name, pg_settings) as json from pg_settings where name ~ 'pg_stat_statements'
), kcache as (
select json_object_agg(pg_settings.name, pg_settings) as json from pg_settings where name ~ 'pg_stat_kcache'
)
select json_build_object('pg_stat_statements', (select * from stat_statements), 'kcache', (select * from kcache));
SQL