opensource.com Open in urlscan Pro
2a04:4e42:400::645  Public Scan

Submitted URL: https://monitoring.danbarker.codes/
Effective URL: https://opensource.com/article/18/8/now-available-open-source-guide-devops-monitoring-tools
Submission Tags: phishingrod
Submission: On February 21 via api from DE — Scanned from ES

Form analysis 5 forms found in the DOM

GET /site-search

<form action="/site-search" method="get" id="views-exposed-form-acquia-search-page" accept-charset="UTF-8">
  <div class="form--inline clearfix">
    <div class="js-form-item form-item js-form-type-textfield form-type-textfield js-form-item-search form-item-search">
      <label for="edit-search">Search</label>
      <input placeholder="Search" data-drupal-selector="edit-search" type="text" id="edit-search" name="search" value="" size="30" maxlength="128" class="form-text">
    </div>
    <div data-drupal-selector="edit-actions" class="form-actions js-form-wrapper form-wrapper" id="edit-actions--2"><input data-drupal-selector="edit-submit-acquia-search" type="submit" id="edit-submit-acquia-search" value="Search"
        class="button js-form-submit form-submit">
    </div>
  </div>
</form>

Name: rh-dyfo-form-1677003589209rkswgsi5gtc

<form id="rh-dyfo-form-1677003589209rkswgsi5gtc" name="rh-dyfo-form-1677003589209rkswgsi5gtc" novalidate="">
  <div id="rh-dyfo-field-71417381-3bd7-4ec7-b675-f17058e93d0b-wrapper" class="pf-c-form__group rh-dyfo-field rh-dyfo-field-email">
    <div class="pf-c-form__group-label"><label class="pf-c-form__label" for="rh-dyfo-field-71417381-3bd7-4ec7-b675-f17058e93d0b-wrapper"><span class="pf-c-form__label-text">Work email</span><span class="pf-c-form__label-required" aria-hidden="true">
          *</span></label> </div>
    <div class="pf-c-form__group-control"><input id="rh-dyfo-field-71417381-3bd7-4ec7-b675-f17058e93d0b-wrapper" name="email" placeholder="" aria-label="Work email" class="pf-c-form-control" type="email" aria-invalid="false" required=""
        data-ouia-component-type="PF4/TextInput" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-TextInputBase-2" value=""></div>
  </div>
  <div id="rh-dyfo-field-318a5fe5-2ac9-4fbb-83e4-e18598f70606-wrapper" class="pf-c-form__group rh-dyfo-field rh-dyfo-field-country">
    <div class="pf-c-form__group-label"><label class="pf-c-form__label" for="country"><span class="pf-c-form__label-text">Country</span><span class="pf-c-form__label-required" aria-hidden="true"> *</span></label> </div>
    <div class="pf-c-form__group-control"><select id="rh-dyfo-field-318a5fe5-2ac9-4fbb-83e4-e18598f70606" name="country" aria-label="Country" class="pf-c-form-control rh-dyfo-placeholder-selected" aria-invalid="false"
        data-ouia-component-type="PF4/FormSelect" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-FormSelect-default-2" required="">
        <option class="rh-dyfo-placeholder-option rh-dyfo-option" value="">-- Please Select --</option>
        <option class="rh-dyfo-option" value="AF">Afghanistan</option>
        <option class="rh-dyfo-option" value="AX">Ãland Islands</option>
        <option class="rh-dyfo-option" value="AL">Albania</option>
        <option class="rh-dyfo-option" value="DZ">Algeria</option>
        <option class="rh-dyfo-option" value="AS">American Samoa</option>
        <option class="rh-dyfo-option" value="AD">Andorra</option>
        <option class="rh-dyfo-option" value="AO">Angola</option>
        <option class="rh-dyfo-option" value="AR">Argentina</option>
        <option class="rh-dyfo-option" value="AM">Armenia</option>
        <option class="rh-dyfo-option" value="AU">Australia</option>
        <option class="rh-dyfo-option" value="AT">Austria</option>
        <option class="rh-dyfo-option" value="AZ">Azerbaijan</option>
        <option class="rh-dyfo-option" value="BH">Bahrain</option>
        <option class="rh-dyfo-option" value="BD">Bangladesh</option>
        <option class="rh-dyfo-option" value="BY">Belarus</option>
        <option class="rh-dyfo-option" value="BE">Belgium</option>
        <option class="rh-dyfo-option" value="BZ">Belize</option>
        <option class="rh-dyfo-option" value="BJ">Benin</option>
        <option class="rh-dyfo-option" value="BT">Bhutan</option>
        <option class="rh-dyfo-option" value="BO">Bolivia</option>
        <option class="rh-dyfo-option" value="BA">Bosnia and Herzegovina</option>
        <option class="rh-dyfo-option" value="BW">Botswana</option>
        <option class="rh-dyfo-option" value="BV">Bouvet Island</option>
        <option class="rh-dyfo-option" value="BR">Brazil</option>
        <option class="rh-dyfo-option" value="IO">Brit/Indian Ocean Terr.</option>
        <option class="rh-dyfo-option" value="BN">Brunei Darussalam</option>
        <option class="rh-dyfo-option" value="BG">Bulgaria</option>
        <option class="rh-dyfo-option" value="BF">Burkina Faso</option>
        <option class="rh-dyfo-option" value="BI">Burundi</option>
        <option class="rh-dyfo-option" value="KH">Cambodia</option>
        <option class="rh-dyfo-option" value="CM">Cameroon</option>
        <option class="rh-dyfo-option" value="CA">Canada</option>
        <option class="rh-dyfo-option" value="CV">Cape Verde</option>
        <option class="rh-dyfo-option" value="CF">Central African Republic</option>
        <option class="rh-dyfo-option" value="TD">Chad</option>
        <option class="rh-dyfo-option" value="CL">Chile</option>
        <option class="rh-dyfo-option" value="CN">China</option>
        <option class="rh-dyfo-option" value="CX">Christmas Island</option>
        <option class="rh-dyfo-option" value="CC">Cocos (Keeling) Islands</option>
        <option class="rh-dyfo-option" value="CO">Colombia</option>
        <option class="rh-dyfo-option" value="KM">Comoros</option>
        <option class="rh-dyfo-option" value="CG">Congo</option>
        <option class="rh-dyfo-option" value="CD">Congo, The Democratic Republic of the</option>
        <option class="rh-dyfo-option" value="CK">Cook Islands</option>
        <option class="rh-dyfo-option" value="CR">Costa Rica</option>
        <option class="rh-dyfo-option" value="CI">Côte D'Ivore</option>
        <option class="rh-dyfo-option" value="HR">Croatia</option>
        <option class="rh-dyfo-option" value="CY">Cyprus</option>
        <option class="rh-dyfo-option" value="CZ">Czech Republic</option>
        <option class="rh-dyfo-option" value="DK">Denmark</option>
        <option class="rh-dyfo-option" value="DJ">Djibouti</option>
        <option class="rh-dyfo-option" value="DO">Dominican Republic</option>
        <option class="rh-dyfo-option" value="EC">Ecuador</option>
        <option class="rh-dyfo-option" value="EG">Egypt</option>
        <option class="rh-dyfo-option" value="SV">El Salvador</option>
        <option class="rh-dyfo-option" value="GQ">Equatorial Guinea</option>
        <option class="rh-dyfo-option" value="ER">Eritrea</option>
        <option class="rh-dyfo-option" value="EE">Estonia</option>
        <option class="rh-dyfo-option" value="ET">Ethiopia</option>
        <option class="rh-dyfo-option" value="FK">Falkland Islands</option>
        <option class="rh-dyfo-option" value="FO">Faroe Islands</option>
        <option class="rh-dyfo-option" value="FJ">Fiji</option>
        <option class="rh-dyfo-option" value="FI">Finland</option>
        <option class="rh-dyfo-option" value="FR">France</option>
        <option class="rh-dyfo-option" value="GF">French Guiana</option>
        <option class="rh-dyfo-option" value="PF">French Polynesia</option>
        <option class="rh-dyfo-option" value="TF">French Southern Terr.</option>
        <option class="rh-dyfo-option" value="GA">Gabon</option>
        <option class="rh-dyfo-option" value="GM">Gambia</option>
        <option class="rh-dyfo-option" value="GE">Georgia</option>
        <option class="rh-dyfo-option" value="DE">Germany</option>
        <option class="rh-dyfo-option" value="GH">Ghana</option>
        <option class="rh-dyfo-option" value="GI">Gibraltar</option>
        <option class="rh-dyfo-option" value="GR">Greece</option>
        <option class="rh-dyfo-option" value="GL">Greenland</option>
        <option class="rh-dyfo-option" value="GP">Guadeloupe</option>
        <option class="rh-dyfo-option" value="GU">Guam</option>
        <option class="rh-dyfo-option" value="GT">Guatemala</option>
        <option class="rh-dyfo-option" value="GG">Guernsey</option>
        <option class="rh-dyfo-option" value="GN">Guinea</option>
        <option class="rh-dyfo-option" value="GW">Guinea-Bissau</option>
        <option class="rh-dyfo-option" value="HT">Haiti</option>
        <option class="rh-dyfo-option" value="HM">Heard/McDonald Isls.</option>
        <option class="rh-dyfo-option" value="HN">Honduras</option>
        <option class="rh-dyfo-option" value="HK">Hong Kong</option>
        <option class="rh-dyfo-option" value="HU">Hungary</option>
        <option class="rh-dyfo-option" value="IS">Iceland</option>
        <option class="rh-dyfo-option" value="IN">India</option>
        <option class="rh-dyfo-option" value="ID">Indonesia</option>
        <option class="rh-dyfo-option" value="IQ">Iraq</option>
        <option class="rh-dyfo-option" value="IE">Ireland</option>
        <option class="rh-dyfo-option" value="IM">Isle of Man</option>
        <option class="rh-dyfo-option" value="IL">Israel</option>
        <option class="rh-dyfo-option" value="IT">Italy</option>
        <option class="rh-dyfo-option" value="JM">Jamaica</option>
        <option class="rh-dyfo-option" value="JP">Japan</option>
        <option class="rh-dyfo-option" value="JE">Jersey</option>
        <option class="rh-dyfo-option" value="JO">Jordan</option>
        <option class="rh-dyfo-option" value="KZ">Kazakhstan</option>
        <option class="rh-dyfo-option" value="KE">Kenya</option>
        <option class="rh-dyfo-option" value="KI">Kiribati</option>
        <option class="rh-dyfo-option" value="KW">Kuwait</option>
        <option class="rh-dyfo-option" value="KG">Kyrgyzstan</option>
        <option class="rh-dyfo-option" value="LA">Laos</option>
        <option class="rh-dyfo-option" value="LV">Latvia</option>
        <option class="rh-dyfo-option" value="LB">Lebanon</option>
        <option class="rh-dyfo-option" value="LS">Lesotho</option>
        <option class="rh-dyfo-option" value="LR">Liberia</option>
        <option class="rh-dyfo-option" value="LY">Libya</option>
        <option class="rh-dyfo-option" value="LI">Liechtenstein</option>
        <option class="rh-dyfo-option" value="LT">Lithuania</option>
        <option class="rh-dyfo-option" value="LU">Luxembourg</option>
        <option class="rh-dyfo-option" value="MO">Macau</option>
        <option class="rh-dyfo-option" value="MK">Macedonia</option>
        <option class="rh-dyfo-option" value="MG">Madagascar</option>
        <option class="rh-dyfo-option" value="MW">Malawi</option>
        <option class="rh-dyfo-option" value="MY">Malaysia</option>
        <option class="rh-dyfo-option" value="MV">Maldives</option>
        <option class="rh-dyfo-option" value="ML">Mali</option>
        <option class="rh-dyfo-option" value="MT">Malta</option>
        <option class="rh-dyfo-option" value="MH">Marshall Islands</option>
        <option class="rh-dyfo-option" value="MQ">Martinique</option>
        <option class="rh-dyfo-option" value="MR">Mauritania</option>
        <option class="rh-dyfo-option" value="MU">Mauritius</option>
        <option class="rh-dyfo-option" value="YT">Mayotte</option>
        <option class="rh-dyfo-option" value="MX">Mexico</option>
        <option class="rh-dyfo-option" value="FM">Micronesia</option>
        <option class="rh-dyfo-option" value="MD">Moldova</option>
        <option class="rh-dyfo-option" value="MC">Monaco</option>
        <option class="rh-dyfo-option" value="MN">Mongolia</option>
        <option class="rh-dyfo-option" value="ME">Montenegro</option>
        <option class="rh-dyfo-option" value="MA">Morocco</option>
        <option class="rh-dyfo-option" value="MZ">Mozambique</option>
        <option class="rh-dyfo-option" value="MM">Myanmar</option>
        <option class="rh-dyfo-option" value="MP">N. Mariana Isls</option>
        <option class="rh-dyfo-option" value="NA">Namibia</option>
        <option class="rh-dyfo-option" value="NR">Nauru</option>
        <option class="rh-dyfo-option" value="NP">Nepal</option>
        <option class="rh-dyfo-option" value="NL">Netherlands</option>
        <option class="rh-dyfo-option" value="NC">New Caledonia</option>
        <option class="rh-dyfo-option" value="NZ">New Zealand</option>
        <option class="rh-dyfo-option" value="NI">Nicaragua</option>
        <option class="rh-dyfo-option" value="NE">Niger</option>
        <option class="rh-dyfo-option" value="NG">Nigeria</option>
        <option class="rh-dyfo-option" value="NU">Niue</option>
        <option class="rh-dyfo-option" value="NF">Norfolk Island</option>
        <option class="rh-dyfo-option" value="NO">Norway</option>
        <option class="rh-dyfo-option" value="OM">Oman</option>
        <option class="rh-dyfo-option" value="PK">Pakistan</option>
        <option class="rh-dyfo-option" value="PW">Palau</option>
        <option class="rh-dyfo-option" value="PS">Palestinian Territory, Occupied</option>
        <option class="rh-dyfo-option" value="PA">Panama</option>
        <option class="rh-dyfo-option" value="PG">Papua New Guinea</option>
        <option class="rh-dyfo-option" value="PY">Paraguay</option>
        <option class="rh-dyfo-option" value="PE">Peru</option>
        <option class="rh-dyfo-option" value="PH">Philippines</option>
        <option class="rh-dyfo-option" value="PN">Pitcairn</option>
        <option class="rh-dyfo-option" value="PL">Poland</option>
        <option class="rh-dyfo-option" value="PT">Portugal</option>
        <option class="rh-dyfo-option" value="PR">Puerto Rico</option>
        <option class="rh-dyfo-option" value="QA">Qatar</option>
        <option class="rh-dyfo-option" value="RE">Reunion</option>
        <option class="rh-dyfo-option" value="RO">Romania</option>
        <option class="rh-dyfo-option" value="RU">Russian Federation</option>
        <option class="rh-dyfo-option" value="RW">Rwanda</option>
        <option class="rh-dyfo-option" value="LC">Saint Lucia</option>
        <option class="rh-dyfo-option" value="WS">Samoa</option>
        <option class="rh-dyfo-option" value="SM">San Marino</option>
        <option class="rh-dyfo-option" value="ST">Sao Tome/Principe</option>
        <option class="rh-dyfo-option" value="SA">Saudi Arabia</option>
        <option class="rh-dyfo-option" value="SN">Senegal</option>
        <option class="rh-dyfo-option" value="RS">Serbia</option>
        <option class="rh-dyfo-option" value="SC">Seychelles</option>
        <option class="rh-dyfo-option" value="SL">Sierra Leone</option>
        <option class="rh-dyfo-option" value="SG">Singapore</option>
        <option class="rh-dyfo-option" value="SK">Slovak Republic</option>
        <option class="rh-dyfo-option" value="SI">Slovenia</option>
        <option class="rh-dyfo-option" value="SB">Solomon Islands</option>
        <option class="rh-dyfo-option" value="SO">Somalia</option>
        <option class="rh-dyfo-option" value="ZA">South Africa</option>
        <option class="rh-dyfo-option" value="GS">South Georgia and the South Sandwich Islands</option>
        <option class="rh-dyfo-option" value="KR">South Korea</option>
        <option class="rh-dyfo-option" value="ES">Spain</option>
        <option class="rh-dyfo-option" value="LK">Sri Lanka</option>
        <option class="rh-dyfo-option" value="SH">St. Helena</option>
        <option class="rh-dyfo-option" value="PM">St. Pierre and Miquelon</option>
        <option class="rh-dyfo-option" value="SJ">Svalbard/Jan Mayen Isls.</option>
        <option class="rh-dyfo-option" value="SZ">Swaziland</option>
        <option class="rh-dyfo-option" value="SE">Sweden</option>
        <option class="rh-dyfo-option" value="CH">Switzerland</option>
        <option class="rh-dyfo-option" value="TW">Taiwan</option>
        <option class="rh-dyfo-option" value="TJ">Tajikistan</option>
        <option class="rh-dyfo-option" value="TZ">Tanzania</option>
        <option class="rh-dyfo-option" value="TH">Thailand</option>
        <option class="rh-dyfo-option" value="TL">Timor-Leste</option>
        <option class="rh-dyfo-option" value="TG">Togo</option>
        <option class="rh-dyfo-option" value="TK">Tokelau</option>
        <option class="rh-dyfo-option" value="TO">Tonga</option>
        <option class="rh-dyfo-option" value="TN">Tunisia</option>
        <option class="rh-dyfo-option" value="TR">Turkey</option>
        <option class="rh-dyfo-option" value="TM">Turkmenistan</option>
        <option class="rh-dyfo-option" value="TV">Tuvalu</option>
        <option class="rh-dyfo-option" value="VI">U.S. Virgin Islands</option>
        <option class="rh-dyfo-option" value="UG">Uganda</option>
        <option class="rh-dyfo-option" value="UA">Ukraine</option>
        <option class="rh-dyfo-option" value="AE">United Arab Emirates</option>
        <option class="rh-dyfo-option" value="GB">United Kingdom</option>
        <option class="rh-dyfo-option" value="US">United States</option>
        <option class="rh-dyfo-option" value="UY">Uruguay</option>
        <option class="rh-dyfo-option" value="UZ">Uzbekistan</option>
        <option class="rh-dyfo-option" value="VU">Vanuatu</option>
        <option class="rh-dyfo-option" value="VA">Vatican City</option>
        <option class="rh-dyfo-option" value="VE">Venezuela</option>
        <option class="rh-dyfo-option" value="VN">Viet Nam</option>
        <option class="rh-dyfo-option" value="WF">Wallis/Futuna Isls.</option>
        <option class="rh-dyfo-option" value="EH">Western Sahara</option>
        <option class="rh-dyfo-option" value="YE">Yemen</option>
        <option class="rh-dyfo-option" value="ZM">Zambia</option>
        <option class="rh-dyfo-option" value="ZW">Zimbabwe</option>
      </select></div>
  </div>
  <div class="rh-dyfo-submit"><button aria-disabled="false" class="pf-c-button pf-m-primary" type="submit" data-ouia-component-type="PF4/Button" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Button-primary-2">Submit</button></div>
</form>

POST /article/18/8/now-available-open-source-guide-devops-monitoring-tools

<form class="node-article-47266-updown-rate-widget-0 vote-form" id="rate-widget-base-form" data-drupal-selector="node-article-47266-updown-rate-widget-0" action="/article/18/8/now-available-open-source-guide-devops-monitoring-tools" method="post"
  accept-charset="UTF-8">
  <div class="rate-widget-thumbs-up">
    <div class="thumbsup-rating-wrapper rate-disabled" can-edit="false">
      <div class="form-item js-form-item form-type-radio js-form-type-radio form-item-value js-form-item-value form-disabled">
        <label class="form-item js-form-item form-type-radio js-form-type-radio form-item-value js-form-item-value form-disabled rating-label thumbsup-rating-label thumbsup-rating-label-up vote-pending rate-thumbs-up-btn-up"
          style="cursor: default;"><input twig-suggestion="rating-input" class="rating-input thumbsup-rating-input form-radio" data-drupal-selector="edit-value-1" disabled="disabled" type="radio" id="edit-value-1" name="value" value="1">
        </label>
      </div>
    </div><input autocomplete="off" data-drupal-selector="form-anegt-nlmk5f12r1ippzj6wrrmkpwfnqpqol41wmqey" type="hidden" name="form_build_id" value="form-AnegT_NlmK5f12r1iPpZj6wrRmKPwfNQpQoL41wmqeY">
    <input data-drupal-selector="edit-node-article-47266-updown-rate-widget-0" type="hidden" name="form_id" value="node_article_47266_updown_rate_widget_0">
    <input class="thumbsup-rating-submit button button--primary js-form-submit form-submit" data-drupal-selector="edit-submit" type="submit" id="edit-submit--2" name="op" value="Save" data-once="drupal-ajax">
    <div class="vote-result js-form-wrapper form-wrapper" data-drupal-selector="edit-result" id="edit-result">
      <div title="Register or Login to like."><a href="/user/register">Register</a> or <a href="/user/login?destination=/article/18/8/now-available-open-source-guide-devops-monitoring-tools">Login</a> to like</div>
    </div>
    <div class="rate-score"></div>
  </div>
</form>

POST /article/18/8/now-available-open-source-guide-devops-monitoring-tools

<form id="mastodon-form" class="mastodon-form" data-drupal-selector="mastodon-form" action="/article/18/8/now-available-open-source-guide-devops-monitoring-tools" method="post" accept-charset="UTF-8">
  <div class="js-form-item form-item js-form-type-textfield form-type-textfield js-form-item-mastodon-url form-item-mastodon-url">
    <label for="edit-mastodon-url">Enter the full URL to your Mastodon profile:</label>
    <input data-drupal-selector="edit-mastodon-url" type="text" id="edit-mastodon-url" name="mastodon_url" value="" size="60" maxlength="128" class="form-text">
  </div>
  <input autocomplete="off" data-drupal-selector="form-frrye0igkyrxazylhvpybwwpa3xggj7dl9b8wblrchi" type="hidden" name="form_build_id" value="form-FrRYe0igkyRXaZylhvPYBWwPa3XgGj7DL9B8wbLRChI">
  <input data-drupal-selector="edit-mastodon-form" type="hidden" name="form_id" value="mastodon_form">
  <div data-drupal-selector="edit-actions" class="form-actions js-form-wrapper form-wrapper" id="edit-actions--3"><input id="mastodon-submit"
      data-query="?url=https://red.ht/2vxIY28&amp;text=The open source guide to DevOps monitoring tools | OpenSource.com" data-drupal-selector="edit-submit" type="submit" name="op" value="Submit"
      class="button button--primary js-form-submit form-submit">
  </div>
</form>

Name: rh-dyfo-form-1677003589182xuude2f667m

<form id="rh-dyfo-form-1677003589182xuude2f667m" name="rh-dyfo-form-1677003589182xuude2f667m" novalidate="">
  <div id="rh-dyfo-field-71417381-3bd7-4ec7-b675-f17058e93d0b-wrapper" class="pf-c-form__group rh-dyfo-field rh-dyfo-field-email">
    <div class="pf-c-form__group-label"><label class="pf-c-form__label" for="rh-dyfo-field-71417381-3bd7-4ec7-b675-f17058e93d0b-wrapper"><span class="pf-c-form__label-text">Work email</span><span class="pf-c-form__label-required" aria-hidden="true">
          *</span></label> </div>
    <div class="pf-c-form__group-control"><input id="rh-dyfo-field-71417381-3bd7-4ec7-b675-f17058e93d0b-wrapper" name="email" placeholder="" aria-label="Work email" class="pf-c-form-control" type="email" aria-invalid="false" required=""
        data-ouia-component-type="PF4/TextInput" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-TextInputBase-1" value=""></div>
  </div>
  <div id="rh-dyfo-field-318a5fe5-2ac9-4fbb-83e4-e18598f70606-wrapper" class="pf-c-form__group rh-dyfo-field rh-dyfo-field-country">
    <div class="pf-c-form__group-label"><label class="pf-c-form__label" for="country"><span class="pf-c-form__label-text">Country</span><span class="pf-c-form__label-required" aria-hidden="true"> *</span></label> </div>
    <div class="pf-c-form__group-control"><select id="rh-dyfo-field-318a5fe5-2ac9-4fbb-83e4-e18598f70606" name="country" aria-label="Country" class="pf-c-form-control rh-dyfo-placeholder-selected" aria-invalid="false"
        data-ouia-component-type="PF4/FormSelect" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-FormSelect-default-1" required="">
        <option class="rh-dyfo-placeholder-option rh-dyfo-option" value="">-- Please Select --</option>
        <option class="rh-dyfo-option" value="AF">Afghanistan</option>
        <option class="rh-dyfo-option" value="AX">Ãland Islands</option>
        <option class="rh-dyfo-option" value="AL">Albania</option>
        <option class="rh-dyfo-option" value="DZ">Algeria</option>
        <option class="rh-dyfo-option" value="AS">American Samoa</option>
        <option class="rh-dyfo-option" value="AD">Andorra</option>
        <option class="rh-dyfo-option" value="AO">Angola</option>
        <option class="rh-dyfo-option" value="AR">Argentina</option>
        <option class="rh-dyfo-option" value="AM">Armenia</option>
        <option class="rh-dyfo-option" value="AU">Australia</option>
        <option class="rh-dyfo-option" value="AT">Austria</option>
        <option class="rh-dyfo-option" value="AZ">Azerbaijan</option>
        <option class="rh-dyfo-option" value="BH">Bahrain</option>
        <option class="rh-dyfo-option" value="BD">Bangladesh</option>
        <option class="rh-dyfo-option" value="BY">Belarus</option>
        <option class="rh-dyfo-option" value="BE">Belgium</option>
        <option class="rh-dyfo-option" value="BZ">Belize</option>
        <option class="rh-dyfo-option" value="BJ">Benin</option>
        <option class="rh-dyfo-option" value="BT">Bhutan</option>
        <option class="rh-dyfo-option" value="BO">Bolivia</option>
        <option class="rh-dyfo-option" value="BA">Bosnia and Herzegovina</option>
        <option class="rh-dyfo-option" value="BW">Botswana</option>
        <option class="rh-dyfo-option" value="BV">Bouvet Island</option>
        <option class="rh-dyfo-option" value="BR">Brazil</option>
        <option class="rh-dyfo-option" value="IO">Brit/Indian Ocean Terr.</option>
        <option class="rh-dyfo-option" value="BN">Brunei Darussalam</option>
        <option class="rh-dyfo-option" value="BG">Bulgaria</option>
        <option class="rh-dyfo-option" value="BF">Burkina Faso</option>
        <option class="rh-dyfo-option" value="BI">Burundi</option>
        <option class="rh-dyfo-option" value="KH">Cambodia</option>
        <option class="rh-dyfo-option" value="CM">Cameroon</option>
        <option class="rh-dyfo-option" value="CA">Canada</option>
        <option class="rh-dyfo-option" value="CV">Cape Verde</option>
        <option class="rh-dyfo-option" value="CF">Central African Republic</option>
        <option class="rh-dyfo-option" value="TD">Chad</option>
        <option class="rh-dyfo-option" value="CL">Chile</option>
        <option class="rh-dyfo-option" value="CN">China</option>
        <option class="rh-dyfo-option" value="CX">Christmas Island</option>
        <option class="rh-dyfo-option" value="CC">Cocos (Keeling) Islands</option>
        <option class="rh-dyfo-option" value="CO">Colombia</option>
        <option class="rh-dyfo-option" value="KM">Comoros</option>
        <option class="rh-dyfo-option" value="CG">Congo</option>
        <option class="rh-dyfo-option" value="CD">Congo, The Democratic Republic of the</option>
        <option class="rh-dyfo-option" value="CK">Cook Islands</option>
        <option class="rh-dyfo-option" value="CR">Costa Rica</option>
        <option class="rh-dyfo-option" value="CI">Côte D'Ivore</option>
        <option class="rh-dyfo-option" value="HR">Croatia</option>
        <option class="rh-dyfo-option" value="CY">Cyprus</option>
        <option class="rh-dyfo-option" value="CZ">Czech Republic</option>
        <option class="rh-dyfo-option" value="DK">Denmark</option>
        <option class="rh-dyfo-option" value="DJ">Djibouti</option>
        <option class="rh-dyfo-option" value="DO">Dominican Republic</option>
        <option class="rh-dyfo-option" value="EC">Ecuador</option>
        <option class="rh-dyfo-option" value="EG">Egypt</option>
        <option class="rh-dyfo-option" value="SV">El Salvador</option>
        <option class="rh-dyfo-option" value="GQ">Equatorial Guinea</option>
        <option class="rh-dyfo-option" value="ER">Eritrea</option>
        <option class="rh-dyfo-option" value="EE">Estonia</option>
        <option class="rh-dyfo-option" value="ET">Ethiopia</option>
        <option class="rh-dyfo-option" value="FK">Falkland Islands</option>
        <option class="rh-dyfo-option" value="FO">Faroe Islands</option>
        <option class="rh-dyfo-option" value="FJ">Fiji</option>
        <option class="rh-dyfo-option" value="FI">Finland</option>
        <option class="rh-dyfo-option" value="FR">France</option>
        <option class="rh-dyfo-option" value="GF">French Guiana</option>
        <option class="rh-dyfo-option" value="PF">French Polynesia</option>
        <option class="rh-dyfo-option" value="TF">French Southern Terr.</option>
        <option class="rh-dyfo-option" value="GA">Gabon</option>
        <option class="rh-dyfo-option" value="GM">Gambia</option>
        <option class="rh-dyfo-option" value="GE">Georgia</option>
        <option class="rh-dyfo-option" value="DE">Germany</option>
        <option class="rh-dyfo-option" value="GH">Ghana</option>
        <option class="rh-dyfo-option" value="GI">Gibraltar</option>
        <option class="rh-dyfo-option" value="GR">Greece</option>
        <option class="rh-dyfo-option" value="GL">Greenland</option>
        <option class="rh-dyfo-option" value="GP">Guadeloupe</option>
        <option class="rh-dyfo-option" value="GU">Guam</option>
        <option class="rh-dyfo-option" value="GT">Guatemala</option>
        <option class="rh-dyfo-option" value="GG">Guernsey</option>
        <option class="rh-dyfo-option" value="GN">Guinea</option>
        <option class="rh-dyfo-option" value="GW">Guinea-Bissau</option>
        <option class="rh-dyfo-option" value="HT">Haiti</option>
        <option class="rh-dyfo-option" value="HM">Heard/McDonald Isls.</option>
        <option class="rh-dyfo-option" value="HN">Honduras</option>
        <option class="rh-dyfo-option" value="HK">Hong Kong</option>
        <option class="rh-dyfo-option" value="HU">Hungary</option>
        <option class="rh-dyfo-option" value="IS">Iceland</option>
        <option class="rh-dyfo-option" value="IN">India</option>
        <option class="rh-dyfo-option" value="ID">Indonesia</option>
        <option class="rh-dyfo-option" value="IQ">Iraq</option>
        <option class="rh-dyfo-option" value="IE">Ireland</option>
        <option class="rh-dyfo-option" value="IM">Isle of Man</option>
        <option class="rh-dyfo-option" value="IL">Israel</option>
        <option class="rh-dyfo-option" value="IT">Italy</option>
        <option class="rh-dyfo-option" value="JM">Jamaica</option>
        <option class="rh-dyfo-option" value="JP">Japan</option>
        <option class="rh-dyfo-option" value="JE">Jersey</option>
        <option class="rh-dyfo-option" value="JO">Jordan</option>
        <option class="rh-dyfo-option" value="KZ">Kazakhstan</option>
        <option class="rh-dyfo-option" value="KE">Kenya</option>
        <option class="rh-dyfo-option" value="KI">Kiribati</option>
        <option class="rh-dyfo-option" value="KW">Kuwait</option>
        <option class="rh-dyfo-option" value="KG">Kyrgyzstan</option>
        <option class="rh-dyfo-option" value="LA">Laos</option>
        <option class="rh-dyfo-option" value="LV">Latvia</option>
        <option class="rh-dyfo-option" value="LB">Lebanon</option>
        <option class="rh-dyfo-option" value="LS">Lesotho</option>
        <option class="rh-dyfo-option" value="LR">Liberia</option>
        <option class="rh-dyfo-option" value="LY">Libya</option>
        <option class="rh-dyfo-option" value="LI">Liechtenstein</option>
        <option class="rh-dyfo-option" value="LT">Lithuania</option>
        <option class="rh-dyfo-option" value="LU">Luxembourg</option>
        <option class="rh-dyfo-option" value="MO">Macau</option>
        <option class="rh-dyfo-option" value="MK">Macedonia</option>
        <option class="rh-dyfo-option" value="MG">Madagascar</option>
        <option class="rh-dyfo-option" value="MW">Malawi</option>
        <option class="rh-dyfo-option" value="MY">Malaysia</option>
        <option class="rh-dyfo-option" value="MV">Maldives</option>
        <option class="rh-dyfo-option" value="ML">Mali</option>
        <option class="rh-dyfo-option" value="MT">Malta</option>
        <option class="rh-dyfo-option" value="MH">Marshall Islands</option>
        <option class="rh-dyfo-option" value="MQ">Martinique</option>
        <option class="rh-dyfo-option" value="MR">Mauritania</option>
        <option class="rh-dyfo-option" value="MU">Mauritius</option>
        <option class="rh-dyfo-option" value="YT">Mayotte</option>
        <option class="rh-dyfo-option" value="MX">Mexico</option>
        <option class="rh-dyfo-option" value="FM">Micronesia</option>
        <option class="rh-dyfo-option" value="MD">Moldova</option>
        <option class="rh-dyfo-option" value="MC">Monaco</option>
        <option class="rh-dyfo-option" value="MN">Mongolia</option>
        <option class="rh-dyfo-option" value="ME">Montenegro</option>
        <option class="rh-dyfo-option" value="MA">Morocco</option>
        <option class="rh-dyfo-option" value="MZ">Mozambique</option>
        <option class="rh-dyfo-option" value="MM">Myanmar</option>
        <option class="rh-dyfo-option" value="MP">N. Mariana Isls</option>
        <option class="rh-dyfo-option" value="NA">Namibia</option>
        <option class="rh-dyfo-option" value="NR">Nauru</option>
        <option class="rh-dyfo-option" value="NP">Nepal</option>
        <option class="rh-dyfo-option" value="NL">Netherlands</option>
        <option class="rh-dyfo-option" value="NC">New Caledonia</option>
        <option class="rh-dyfo-option" value="NZ">New Zealand</option>
        <option class="rh-dyfo-option" value="NI">Nicaragua</option>
        <option class="rh-dyfo-option" value="NE">Niger</option>
        <option class="rh-dyfo-option" value="NG">Nigeria</option>
        <option class="rh-dyfo-option" value="NU">Niue</option>
        <option class="rh-dyfo-option" value="NF">Norfolk Island</option>
        <option class="rh-dyfo-option" value="NO">Norway</option>
        <option class="rh-dyfo-option" value="OM">Oman</option>
        <option class="rh-dyfo-option" value="PK">Pakistan</option>
        <option class="rh-dyfo-option" value="PW">Palau</option>
        <option class="rh-dyfo-option" value="PS">Palestinian Territory, Occupied</option>
        <option class="rh-dyfo-option" value="PA">Panama</option>
        <option class="rh-dyfo-option" value="PG">Papua New Guinea</option>
        <option class="rh-dyfo-option" value="PY">Paraguay</option>
        <option class="rh-dyfo-option" value="PE">Peru</option>
        <option class="rh-dyfo-option" value="PH">Philippines</option>
        <option class="rh-dyfo-option" value="PN">Pitcairn</option>
        <option class="rh-dyfo-option" value="PL">Poland</option>
        <option class="rh-dyfo-option" value="PT">Portugal</option>
        <option class="rh-dyfo-option" value="PR">Puerto Rico</option>
        <option class="rh-dyfo-option" value="QA">Qatar</option>
        <option class="rh-dyfo-option" value="RE">Reunion</option>
        <option class="rh-dyfo-option" value="RO">Romania</option>
        <option class="rh-dyfo-option" value="RU">Russian Federation</option>
        <option class="rh-dyfo-option" value="RW">Rwanda</option>
        <option class="rh-dyfo-option" value="LC">Saint Lucia</option>
        <option class="rh-dyfo-option" value="WS">Samoa</option>
        <option class="rh-dyfo-option" value="SM">San Marino</option>
        <option class="rh-dyfo-option" value="ST">Sao Tome/Principe</option>
        <option class="rh-dyfo-option" value="SA">Saudi Arabia</option>
        <option class="rh-dyfo-option" value="SN">Senegal</option>
        <option class="rh-dyfo-option" value="RS">Serbia</option>
        <option class="rh-dyfo-option" value="SC">Seychelles</option>
        <option class="rh-dyfo-option" value="SL">Sierra Leone</option>
        <option class="rh-dyfo-option" value="SG">Singapore</option>
        <option class="rh-dyfo-option" value="SK">Slovak Republic</option>
        <option class="rh-dyfo-option" value="SI">Slovenia</option>
        <option class="rh-dyfo-option" value="SB">Solomon Islands</option>
        <option class="rh-dyfo-option" value="SO">Somalia</option>
        <option class="rh-dyfo-option" value="ZA">South Africa</option>
        <option class="rh-dyfo-option" value="GS">South Georgia and the South Sandwich Islands</option>
        <option class="rh-dyfo-option" value="KR">South Korea</option>
        <option class="rh-dyfo-option" value="ES">Spain</option>
        <option class="rh-dyfo-option" value="LK">Sri Lanka</option>
        <option class="rh-dyfo-option" value="SH">St. Helena</option>
        <option class="rh-dyfo-option" value="PM">St. Pierre and Miquelon</option>
        <option class="rh-dyfo-option" value="SJ">Svalbard/Jan Mayen Isls.</option>
        <option class="rh-dyfo-option" value="SZ">Swaziland</option>
        <option class="rh-dyfo-option" value="SE">Sweden</option>
        <option class="rh-dyfo-option" value="CH">Switzerland</option>
        <option class="rh-dyfo-option" value="TW">Taiwan</option>
        <option class="rh-dyfo-option" value="TJ">Tajikistan</option>
        <option class="rh-dyfo-option" value="TZ">Tanzania</option>
        <option class="rh-dyfo-option" value="TH">Thailand</option>
        <option class="rh-dyfo-option" value="TL">Timor-Leste</option>
        <option class="rh-dyfo-option" value="TG">Togo</option>
        <option class="rh-dyfo-option" value="TK">Tokelau</option>
        <option class="rh-dyfo-option" value="TO">Tonga</option>
        <option class="rh-dyfo-option" value="TN">Tunisia</option>
        <option class="rh-dyfo-option" value="TR">Turkey</option>
        <option class="rh-dyfo-option" value="TM">Turkmenistan</option>
        <option class="rh-dyfo-option" value="TV">Tuvalu</option>
        <option class="rh-dyfo-option" value="VI">U.S. Virgin Islands</option>
        <option class="rh-dyfo-option" value="UG">Uganda</option>
        <option class="rh-dyfo-option" value="UA">Ukraine</option>
        <option class="rh-dyfo-option" value="AE">United Arab Emirates</option>
        <option class="rh-dyfo-option" value="GB">United Kingdom</option>
        <option class="rh-dyfo-option" value="US">United States</option>
        <option class="rh-dyfo-option" value="UY">Uruguay</option>
        <option class="rh-dyfo-option" value="UZ">Uzbekistan</option>
        <option class="rh-dyfo-option" value="VU">Vanuatu</option>
        <option class="rh-dyfo-option" value="VA">Vatican City</option>
        <option class="rh-dyfo-option" value="VE">Venezuela</option>
        <option class="rh-dyfo-option" value="VN">Viet Nam</option>
        <option class="rh-dyfo-option" value="WF">Wallis/Futuna Isls.</option>
        <option class="rh-dyfo-option" value="EH">Western Sahara</option>
        <option class="rh-dyfo-option" value="YE">Yemen</option>
        <option class="rh-dyfo-option" value="ZM">Zambia</option>
        <option class="rh-dyfo-option" value="ZW">Zimbabwe</option>
      </select></div>
  </div>
  <div class="rh-dyfo-submit"><button aria-disabled="false" class="pf-c-button pf-m-primary" type="submit" data-ouia-component-type="PF4/Button" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Button-primary-1">Submit</button></div>
</form>

Text Content

We use cookies on our websites to deliver our online services. Details about how
we use cookies and how you may disable them are set out in our Privacy
Statement. By using this website you agree to our use of cookies. ×


Skip to main content


USER ACCOUNT MENU

 * Log in
 * Sign Up
 * Facebook
 * Twitter
 * RSS




MAIN NAVIGATION

 * Articles
   * Linux
     * Command line
   * Kubernetes
   * Programming
     * Go
     * JavaScript
     * Python
   * Containers
   * Sysadmin
   * DevOps
   * Gaming
   * Hardware
     * 3D printing
     * Arduino
     * Raspberry Pi
   * Government
   * Law
   * Open Organization
     * What is an open organization?
     * What is an open decision?
 * Resources
   * What is open source?
     * The open source way
   * Projects and applications
   * Organizations
   * Cloud technology
     * Ansible
     * Big data
     * Data science
     * Docker
     * Git
     * Internet of things
     * Java
     * Kubernetes
     * Linux containers
     * Microservices
     * OpenStack
     * Python
       * Python GUI frameworks
       * Python IDEs
       * Python template libraries
       * Python web scrapers
     * Software defined networking
     * Virtualization
   * Open source alternatives
     * Alternatives to Acrobat
     * Alternatives to AutoCAD
     * Alternatives to Dreamweaver
     * Alternatives to Gmail
     * Alternatives to MATLAB
     * Alternatives to Minecraft
     * Alternatives to Google Photos
     * Alternatives to Photoshop
     * Alternatives to Skype
     * Alternatives to Slack
     * Alternatives to Trello
     * More...
   * Linux
 * Downloads
   * Cheat sheets
   * DevOps guides
   * Programming guides
   * Sysadmin guides
   * eBooks
   * Open Source Yearbook
   * Open Organization series
 * Community
   * About Opensource.com
     * Welcome to the Opensource.com community
     * Meet the team
     * Create an account
     * Rules for comments and discussions
     * Correspondent Program
     * Frequently Asked Questions
   * Contribute to Opensource.com
     * Opensource.com style guide
     * Writing topics
   * Contact Us
 * Search
   

x


SUBSCRIBE TO OUR NEWSLETTER.

Work email *

Country *
-- Please Select --AfghanistanÃland IslandsAlbaniaAlgeriaAmerican
SamoaAndorraAngolaArgentinaArmeniaAustraliaAustriaAzerbaijanBahrainBangladeshBelarusBelgiumBelizeBeninBhutanBoliviaBosnia
and HerzegovinaBotswanaBouvet IslandBrazilBrit/Indian Ocean Terr.Brunei
DarussalamBulgariaBurkina FasoBurundiCambodiaCameroonCanadaCape VerdeCentral
African RepublicChadChileChinaChristmas IslandCocos (Keeling)
IslandsColombiaComorosCongoCongo, The Democratic Republic of theCook
IslandsCosta RicaCôte D'IvoreCroatiaCyprusCzech RepublicDenmarkDjiboutiDominican
RepublicEcuadorEgyptEl SalvadorEquatorial GuineaEritreaEstoniaEthiopiaFalkland
IslandsFaroe IslandsFijiFinlandFranceFrench GuianaFrench PolynesiaFrench
Southern
Terr.GabonGambiaGeorgiaGermanyGhanaGibraltarGreeceGreenlandGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauHaitiHeard/McDonald
Isls.HondurasHong KongHungaryIcelandIndiaIndonesiaIraqIrelandIsle of
ManIsraelItalyJamaicaJapanJerseyJordanKazakhstanKenyaKiribatiKuwaitKyrgyzstanLaosLatviaLebanonLesothoLiberiaLibyaLiechtensteinLithuaniaLuxembourgMacauMacedoniaMadagascarMalawiMalaysiaMaldivesMaliMaltaMarshall
IslandsMartiniqueMauritaniaMauritiusMayotteMexicoMicronesiaMoldovaMonacoMongoliaMontenegroMoroccoMozambiqueMyanmarN.
Mariana IslsNamibiaNauruNepalNetherlandsNew CaledoniaNew
ZealandNicaraguaNigerNigeriaNiueNorfolk IslandNorwayOmanPakistanPalauPalestinian
Territory, OccupiedPanamaPapua New
GuineaParaguayPeruPhilippinesPitcairnPolandPortugalPuerto
RicoQatarReunionRomaniaRussian FederationRwandaSaint LuciaSamoaSan MarinoSao
Tome/PrincipeSaudi ArabiaSenegalSerbiaSeychellesSierra LeoneSingaporeSlovak
RepublicSloveniaSolomon IslandsSomaliaSouth AfricaSouth Georgia and the South
Sandwich IslandsSouth KoreaSpainSri LankaSt. HelenaSt. Pierre and
MiquelonSvalbard/Jan Mayen
Isls.SwazilandSwedenSwitzerlandTaiwanTajikistanTanzaniaThailandTimor-LesteTogoTokelauTongaTunisiaTurkeyTurkmenistanTuvaluU.S.
Virgin IslandsUgandaUkraineUnited Arab EmiratesUnited KingdomUnited
StatesUruguayUzbekistanVanuatuVatican CityVenezuelaViet NamWallis/Futuna
Isls.Western SaharaYemenZambiaZimbabwe
Submit

Privacy Statement


THE OPEN SOURCE GUIDE TO DEVOPS MONITORING TOOLS

In the first of a new series focusing on DevOps monitoring tools, we review the
various types of system observability tools.
By
Dan Barker (Alumni)
August 28, 2018 | 0 Comments | %t min read
Register or Login to like


Image by:

opensource.com

In this new series, we'll focus on DevOps monitoring and observability tools.
Over the next few weeks, we’ll explore metrics aggregation and monitoring, log
aggregation, alerting and visualizations, and distributed tracing.
Alternatively, you can download the entire open source guide to DevOps
monitoring tools now.

Let’s get started.


A TALE OF TWO VIEWS

Once upon a time, I was troubleshooting some vexing problems in an application
that needed to be scaled several orders of magnitude, with only a couple of
weeks to re-architect it. We had no log aggregation, no metrics aggregation, no
distributed tracing, and no visualization. Most of our work had to be done on
the actual production nodes using tools like strace and grepping through logs.
These are great tools, but they don’t make it easy to analyze a distributed
system across dozens of hosts. We got the job done, but it was painful and
involved a lot more guessing and risk than I prefer.

At a different job, I helped troubleshoot an app in production that was
suffering from an out-of-memory (OOM) issue. The problem was inconsistent, as it
didn’t seem to correlate with running time, load, time of day, or any other
aspect that would provide some predictability. This was obviously going to be a
difficult problem to diagnose on a system that spanned hundreds of hosts with
many applications calling it. Luckily, we had log aggregation, distributed
tracing, metrics aggregation, and a plethora of visualizations. We looked at our
memory graph and saw a distinct spike in memory usage, so we used that spike to
alert us so we could diagnose the issue in real time when it occurred.

When we received an alert, we went to our log aggregation system to correlate
the logs to the memory spike. We found the OOM error and the related calls
around it. We then understood what application was calling the service that
resulted in the spike and used that information to find the exact transaction
that caused the issue. We determined that someone had stored a huge file in a
database that our service was trying to load, but the service was running out of
memory before it could fully load and process the record. We should have been
defending against this in the first place, but we were happy to find it so
quickly and fix it with very little effort. Once we understood the error, we
discovered a lot of records had large files like this, and we didn’t need that
part of the record to function properly.

You might think the second situation happened a long time after the first and we
had improved over time. Or maybe you suspect that when I changed jobs, my new
company had better tooling. In reality, the second situation happened before the
first one. I moved from a company with fairly advanced observability tools to
one with no observability tools. It was strikingly disturbing as the developer
to have an application in production and know nothing about it. I learned a lot
about the importance of system observability and the related tools as I began
rebuilding that infrastructure. Also, Mike Julian's Practical Monitoring is a
must-read for those who want to know more about their systems.

Skip to content

More DevOps resources

 * What is DevOps?
 * The ultimate DevOps hiring guide
 * DevOps monitoring tools guide
 * Getting started with DevSecOps
 * Download the DevOps glossary
 * eBook: Ansible for DevOps
 * Latest DevOps articles


OBSERVABILITY PRINCIPLES

So, what are observability tools? Actually, what is observability?

Observability isn’t just a marketing term; it’s a component of control theory.
If you want a quick primer, this video might be helpful. Basically,
observability means that you can estimate a particular state of a system based
on an output. More generally, a system’s state should be deterministic from its
outputs. Controllability, the mathematical dual of observability, of a system
requires that a system state be determined by the inputs to the system.

This is a fairly simple concept, but it’s very challenging to put into practice.
In a sufficiently complex system, it may be nearly impossible to implement full
observability. However, you should strive to get the right outputs that allow
you to determine the system’s state, especially when you encounter a failure
mode.


OBSERVABILITY TOOL TYPES

In this series, we’ll dig into different types of observability tools. For each
type, we’ll cover what they’re used for, what specific tools are available, some
use cases, and any unique characteristics that may come up during your search
for a new tool. These are presented in the order you should implement them.
Metrics aggregation is first, as it’s often easy to instrument an application
built with any modern language. Second is logging because it will require more
application modifications but provides tremendous value. Third is alerting and
visualizations, which require the first two types for full functionality. And
last is distributed tracing, as it may not be necessary in a simple monolith and
is much harder to implement fully.


METRICS AGGREGATION

This type of tool generally consists of time-series data. Time-series data is
time-ordered data, and it is normally collected with an internally consistent
interval. This consistency allows some advanced calculations to be applied to
the series and provides for predictive analytics using simple regressions or
more advanced algorithms.


LOG AGGREGATION

These tools deal with data types that are related more to events than to a
series of consistent data points. This output is often emitted as a system
enters some undesired state. Some systems output a lot of logs that don’t fit
this condition. We’ll cover more of the do’s and don’ts of logging in a future
article.


ALERTING/VISUALIZATIONS

This may not appear to fit with the other types listed, as it’s really
subsequent to the others, but it provides a consumable output for the other
types and can produce its own outputs. These types of tools generally make the
system more understandable to humans. They also help create a more interactive
system through both proactive and reactive notifications about negative system
states.


DISTRIBUTED TRACING

Much like tracing within a single application, distributed tracing allows you to
follow a single transaction through an entire system. This allows you to home in
on specific transactions that might be experiencing problems. Due to performance
concerns, a sampling algorithm is often applied.


COMMON DEVOPS FEATURES

There are several aspects you should look for in any type of observability tool.
We’ll cover these generally now and will bring them back up in future articles.


OPENAPI

This specification was previously called Swagger but renamed when it was adopted
by the OpenAPI Initiative within the Linux Foundation. The OpenAPI Specification
is a language-agnostic tool that can automatically generate documentation of
methods, parameters, and models. This is commonly used to generate RESTful
interfaces in HTTP, but it is also protocol-agnostic. A user can create a client
in almost any language if one doesn't already exist. Every tool should have this
type of API (or should be getting it soon). If your tool doesn’t have it yet,
you may want to look elsewhere. Tools that haven't implemented this
specification or don't have it on their roadmap likely have other deficiencies
in adopting open, modern standards and code.


OPEN SOURCE

There are a lot of good tools in this space that aren’t open source but may be
the right fit for your company. If you pick one of those tools, make sure its
documentation and accessory tooling are open source. Open source observability
tools can provide valuable insights into how your other observability tools are
functioning (or maybe not functioning). They also offer all the other benefits
of any open source project which you can read more about on Opensource.com.


OPEN STANDARDS

Regardless of whether or not a tool is open source, it should always use open
standards when possible. We’ve already discussed one of these, OpenAPI, but
there are many more. We’ll discuss these standards in the appropriate sections
to ensure you know they exist and where they’re used.


WIDE DISSEMINATION

Part of observability and openness is allowing everyone to view data. The tools
you pick should be open by default. You may want to restrict some areas, but
you’ll want to default to open and close access only if it’s absolutely
required. You never know who in your company might want to solve your problem or
who you’ll need to bring in to help solve a problem. The last thing you’ll want
is access barriers when troubleshooting your income source.


FEDERATED MODEL (PREFERRED)

This is similar to defaulting to open, but it allows everyone to provide input
and control their own areas more locally. Many legacy systems are architected in
a way that requires all data to flow through a central system regardless of
need. This also centralizes control around that data. A federated system allows
for local aggregation, processing, and control while allowing a central
organization to collect the same data or summarized data. The central system
likely only wants a subset of the data stored at the local level. This model
increases agility, flexibility, and usability.

In this series, we’ll be exploring each of the observability tool types in more
detail. We’ll also help you choose the right tool for your use case. Feel free
to read them in any order you want—or you can download the entire guide.

 

What to read next


4 OPEN SOURCE MONITORING TOOLS

Here's what you need to know about time-series data and metrics aggregation
tools.

Dan Barker
(Alumni)
August 29, 2018
Tags
DevOps
Sysadmin
Dan Barker

Website: http://danbarker.codes Email: dan@danbarker.codes
More about me



COMMENTS ARE CLOSED.

These comments are closed, however you can Register or Login to post a comment
on another article.


RELATED CONTENT

4 questions open source engineers should ask to mitigate risk at scale
How the Gherkin language bridges the gap between customers and developers
6 tips for building an effective DevOps culture
This work is licensed under a Creative Commons Attribution-Share Alike 4.0
International License.


DOWNLOAD THE ULTIMATE DEVOPS HIRING GUIDE

Build your DevOps team with these best practices for prospective employees and
hiring managers.

Download now
LinkedInTwitterFacebookWhatsAppEmailRedditMastodon
Enter the full URL to your Mastodon profile:



SUBSCRIBE TO OUR WEEKLY NEWSLETTER

Work email *

Country *
-- Please Select --AfghanistanÃland IslandsAlbaniaAlgeriaAmerican
SamoaAndorraAngolaArgentinaArmeniaAustraliaAustriaAzerbaijanBahrainBangladeshBelarusBelgiumBelizeBeninBhutanBoliviaBosnia
and HerzegovinaBotswanaBouvet IslandBrazilBrit/Indian Ocean Terr.Brunei
DarussalamBulgariaBurkina FasoBurundiCambodiaCameroonCanadaCape VerdeCentral
African RepublicChadChileChinaChristmas IslandCocos (Keeling)
IslandsColombiaComorosCongoCongo, The Democratic Republic of theCook
IslandsCosta RicaCôte D'IvoreCroatiaCyprusCzech RepublicDenmarkDjiboutiDominican
RepublicEcuadorEgyptEl SalvadorEquatorial GuineaEritreaEstoniaEthiopiaFalkland
IslandsFaroe IslandsFijiFinlandFranceFrench GuianaFrench PolynesiaFrench
Southern
Terr.GabonGambiaGeorgiaGermanyGhanaGibraltarGreeceGreenlandGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauHaitiHeard/McDonald
Isls.HondurasHong KongHungaryIcelandIndiaIndonesiaIraqIrelandIsle of
ManIsraelItalyJamaicaJapanJerseyJordanKazakhstanKenyaKiribatiKuwaitKyrgyzstanLaosLatviaLebanonLesothoLiberiaLibyaLiechtensteinLithuaniaLuxembourgMacauMacedoniaMadagascarMalawiMalaysiaMaldivesMaliMaltaMarshall
IslandsMartiniqueMauritaniaMauritiusMayotteMexicoMicronesiaMoldovaMonacoMongoliaMontenegroMoroccoMozambiqueMyanmarN.
Mariana IslsNamibiaNauruNepalNetherlandsNew CaledoniaNew
ZealandNicaraguaNigerNigeriaNiueNorfolk IslandNorwayOmanPakistanPalauPalestinian
Territory, OccupiedPanamaPapua New
GuineaParaguayPeruPhilippinesPitcairnPolandPortugalPuerto
RicoQatarReunionRomaniaRussian FederationRwandaSaint LuciaSamoaSan MarinoSao
Tome/PrincipeSaudi ArabiaSenegalSerbiaSeychellesSierra LeoneSingaporeSlovak
RepublicSloveniaSolomon IslandsSomaliaSouth AfricaSouth Georgia and the South
Sandwich IslandsSouth KoreaSpainSri LankaSt. HelenaSt. Pierre and
MiquelonSvalbard/Jan Mayen
Isls.SwazilandSwedenSwitzerlandTaiwanTajikistanTanzaniaThailandTimor-LesteTogoTokelauTongaTunisiaTurkeyTurkmenistanTuvaluU.S.
Virgin IslandsUgandaUkraineUnited Arab EmiratesUnited KingdomUnited
StatesUruguayUzbekistanVanuatuVatican CityVenezuelaViet NamWallis/Futuna
Isls.Western SaharaYemenZambiaZimbabwe
Submit
Privacy Statement


ABOUT THIS SITE

The opinions expressed on this website are those of each author, not of the
author's employer or of Red Hat.

Opensource.com aspires to publish all content under a Creative Commons license
but may not be able to do so in all cases. You are responsible for ensuring that
you have the necessary permission to reuse any work on this site. Red Hat and
the Red Hat logo are trademarks of Red Hat, Inc., registered in the United
States and other countries.

A note on advertising: Opensource.com does not sell advertising on the site or
in any of its newsletters.


CONTACT

Follow us on Twitter

Like us on Facebook

Watch us on YouTube

Follow us on Mastodon

RSS Feed



Copyright ©2023 Red Hat, Inc.


LEGAL

 * Privacy Policy
 * Terms of use
 * Contact