заметки об администрировании и python. Траблшутинг в «примерах» и HOWTO.

👋 О себе | 📚 Литература и ресурсы | 🗂 Все посты | 📮 E-mail
Позднее Ctrl + ↑

InfluxDB: received error partial write: max-series-per-database limit exceeded: (1000000) dropped=542; discarding points

| InfluxDB: received error partial write: max-series-per-database limit exceeded: (1000000) dropped=542; discarding points

После деплоя возникли проблемы с записью в базу InfluxDB — а именно 400 ошибки. Как на зло даже debug режим ничего нового не показало, в логи так и сыпало ошибки


Apr 21 19:05:22 influx-host-name influxd[4230]: [httpd] 1.1.1.1 - metrics [21/Apr/2021:19:05:22 +0300] "POST /write?db=DATABASE HTTP/1.1" 400 88 "-" "Telegraf/1.14.1" 608a927b-a2bb-11eb-81f7-005056011775 12255
Apr 21 19:05:24 influx-host-name influxd[4230]: [httpd] 1.1.1.1 - metrics [21/Apr/2021:19:05:24 +0300] "POST /write?db=DATABASE HTTP/1.1" 400 88 "-" "Telegraf/1.16.3 Go/1.15.2" 61748180-a2bb-11eb-81f8-005056011775 4667
Apr 21 19:05:25 influx-host-name influxd[4230]: [httpd] 1.1.1.1 - metrics [21/Apr/2021:19:05:25 +0300] "POST /write?db=DATABASE HTTP/1.1" 204 0 "-" "Telegraf/1.16.3 Go/1.15.2" 61e6d6bb-a2bb-11eb-81f9-005056011775 7272
Apr 21 19:05:25 influx-host-name influxd[4230]: [httpd] 1.1.1.1 - metrics [21/Apr/2021:19:05:25 +0300] "POST /write?db=DATABASE HTTP/1.1" 400 88 "-" "Telegraf/1.14.1" 61f15fba-a2bb-11eb-81fa-005056011775 11785

По случаю начал смотреть логи Telegraf где выявил ошибки


Apr 21 19:29:06 host-01 telegraf[16234]: 2021-04-21T16:29:06Z E! [outputs.influxdb] When writing to [http://influx-host:8086]: received error partial write: max-series-per-database limit exceeded: (1000000) dropped=426; discarding points
Apr 21 19:29:16 host-01 telegraf[16234]: 2021-04-21T16:29:16Z E! [outputs.influxdb] When writing to [http://influx-host:8086]: received error partial write: max-series-per-database limit exceeded: (1000000) dropped=568; discarding points
Apr 21 19:29:26 host-01 telegraf[16234]: 2021-04-21T16:29:26Z E! [outputs.influxdb] When writing to [http://influx-host:8086]: received error partial write: max-series-per-database limit exceeded: (1000000) dropped=542; discarding points

Благо на оф сайте Influx было найдено описание проблемы https://docs.influxdata.com/influxdb/v1.8/troubleshooting/errors/#error-max-series-per-database-exceeded--

Таким образом после добавления строки из документации — заработало


[data]
...
max-series-per-database = 0
...

Information about this setting:
The maximum number of series allowed per database before writes are dropped. The default setting is 1000000 (one million). Change the setting to 0 to allow an unlimited number of series per database. If a point causes the number of series in a database to exceed max-series-per-database, InfluxDB will not write the point, and it returns a 500 with the following error

Elasticsearch: Could not index event to Elasticsearch

При настройке сбора логов обнаружилось, что Elasticsearch перестал создавать индексы под логи. Сама схема сбора Filebeat -> Logstash -> Elasticsearch

Ошибка была следующего вида:


[2021-03-23T18:03:43,081][WARN ][logstash.outputs.elasticsearch][main][e10c66dfb2e74fd1db2e243865b224f6ca135c8f45f5c9e8d744daaad909a48f] Could not index event to Elasticsearch. {:status=>404, :action=>["index", {:_id=>nil, :_index=>"logstash-%{[fields][logapp]}-2021.03.23", :routing=>nil, :_type=>"_doc"}, #], :response=>{"index"=>{"_index"=>"logstash-%{[fields][logapp]}-2021.03.23", "_type"=>"_doc", "_id"=>nil, "status"=>404, "error"=>{"type"=>"index_not_found_exception", "reason"=>"no such index [logstash-%{[fields][logapp]}-2021.03.23]", "resource.type"=>"index_expression", "resource.id"=>"logstash-%{[fields][logapp]}-2021.03.23", "index_uuid"=>"_na_", "index"=>"logstash-%{[fields][logapp]}-2021.03.23"}}}}

Первое, что нагуглил было включить параметр «action.auto_create_index»: «true» в конфиге Elasticsearch, но увы не помогло. Оказалось, требуется быть чуть хитрее и установить параметр через curl-запрос


curl -X PUT "localhost:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d'{
    "persistent": {
        "action.auto_create_index": "true" 
    }
}'

 Нет комментариев    104   4 мес   PostgreSQL   SQL

PostgreSQL: Отобразить список самых 10 больших таблиц


select schemaname as table_schema,
    relname as table_name,
    pg_size_pretty(pg_total_relation_size(relid)) as total_size,
    pg_size_pretty(pg_relation_size(relid)) as data_size,
    pg_size_pretty(pg_total_relation_size(relid) - pg_relation_size(relid))
      as external_size
from pg_catalog.pg_statio_user_tables
order by pg_total_relation_size(relid) desc,
         pg_relation_size(relid) desc
limit 10;

Log Parsing Cheat Sheet

Крутые подсказки по наиболее используемым командам при паркинге логов. Найдено в ФБ и вторая часть у автора в твиттере

Ссылка на аккаунт автора

 Нет комментариев    148   6 мес   linux   log   tools
 Нет комментариев    129   7 мес   EOF   linux   posix
Ранее Ctrl + ↓