Kawika's SRE/Devops Blog

Deliver – Measure – Grow

Menu

  • Home
  • About
  • Contact

Author: Kawika Ohumukini

You are here: Kawika's SRE/Devops Blog > Articles by: Kawika Ohumukini

Strip digits from string

This one-liner strips all numbers from any string. I show it in BASH using sed which does a RegEx expression to match only digits. Python has the built-in function str.isdigit() so we test each character and make a list comprehension

Kawika Ohumukini August 15, 2018April 7, 2020 One-Liners Read more

Automating Nagios – Overview

This post is a brief introduction of how I setup a system to add, update and remove Nagios configurations as servers are created and destroyed. Future posts detailing each step will be coming soon. Until then you can go to hashicorp.com or nagios.org for

Kawika Ohumukini August 15, 2018April 7, 2020 DevOps Read more

Automating Nagios – Part 2

Now that we have some keys in Consul, we want to get that into a Nagios configuration file using Consul-Template. Consul-Template requires only two files which are used to create a third. hosts.hcl – template configuration hosts.ctmpl – template hosts.cfg –

Kawika Ohumukini August 15, 2018April 7, 2020 DevOps Read more

Automating Nagios – Part 1

In my overview post I showed a key/value structure in Consul that could be used to store metadata on each Node. Now I’ll discusses how to put node metadata into the Consul key-store. For this example we have two web servers in the san

Kawika Ohumukini August 15, 2018April 7, 2020 DevOps Read more

Google Next ’18 Review

Google Next ’18 Review

To say that Google is going after Enterprise customers would be an understatement. The Keynotes and Breakout Session Talks made their intentions abundantly clear. In my opinion and from my research, what has to happen is Google needs to convince

Kawika Ohumukini July 30, 2018April 7, 2020 DevOps No Comments Read more

Friedman BE-OD Overdrive Pedal Hack

Warning!!! This will void your warranty. This hack replaces the internal gain potentiometer with a case mounted potentiometer that is adjustable outside the case. I used these (https://www.amazon.com/gp/product/B01LZ74KU3) potentiometers mainly because they came with matching knobs. I cut 2mm off

Kawika Ohumukini June 16, 2018April 7, 2020 Miscellaneous Read more

You do not hire a DevOps culture, you grow it

You do not hire a DevOps culture, you grow it

DevOps is a culture. It is a set of values, beliefs and practices used by an organization. It is not a department, job title or set of tools. These things are born from a DevOps culture but they do not

Kawika Ohumukini July 16, 2017April 7, 2020 DevOps Read more
  • Next »

Recent Posts

  • Logstash Filter OTD : NGiNX Access Log
  • NGiNX JSON Access Log
  • Which Elasticsearch Analyzer for the job?
  • Elasticsearch _source field
  • Elasticsearch Index Templates

Categories

  • DevOps
  • Elasticsearch
  • Logstash
  • Miscellaneous
  • One-Liners

Recent Posts

  • Logstash Filter OTD : NGiNX Access Log

    Logstash Filter OTD : NGiNX Access Log

  • NGiNX JSON Access Log

    NGiNX JSON Access Log

  • Which Elasticsearch Analyzer for the job?

    Which Elasticsearch Analyzer for the job?

Pages

  • Home
  • Contact Me
  • Miscellaneous

Contact

  • Kawika Ohumukini
  • San Diego | CA | USA
  • Email: kawikao@kickin6.com

Copyright © 2021 Kawika's SRE/Devops Blog

  • Home
  • Contact Me
  • Miscellaneous
Logstash Default Template
{
  "order": 0,
  "version": 60001,
  "index_patterns": [
    "logstash-*"
  ],
  "settings": {
    "index": {
      "number_of_shards": "1",
      "refresh_interval": "5s"
    }
  },
  "mappings": {
    "dynamic_templates": [
      {
        "message_field": {
          "path_match": "message",
          "mapping": {
            "norms": false,
            "type": "text"
          },
          "match_mapping_type": "string"
        }
      },
      {
        "string_fields": {
          "mapping": {
            "norms": false,
            "type": "text",
            "fields": {
              "keyword": {
                "ignore_above": 256,
                "type": "keyword"
              }
            }
          },
          "match_mapping_type": "string",
          "match": "*"
        }
      }
    ],
    "properties": {
      "@timestamp": {
        "type": "date"
      },
      "geoip": {
        "dynamic": true,
        "properties": {
          "ip": {
            "type": "ip"
          },
          "latitude": {
            "type": "half_float"
          },
          "location": {
            "type": "geo_point"
          },
          "longitude": {
            "type": "half_float"
          }
        }
      },
      "@version": {
        "type": "keyword"
      }
    }
  },
  "aliases": {}
}