Changelogs » Scalyr-agent-2

Scalyr-agent-2

2.0.41

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Dec 12, 2018 11:15 -0800
--->

Bugs
* Fix bad class name for wrapped responses in Docker and Kubernetes monitor.
* Fix high CPU consumption in Kubernetes monitor due to encoding detection.
* Add defensive code to Kubernetes cache to prevent cache death spiral.

2.0.40

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Dec 7, 2018 16:00 -0800
--->

Bugs
* Fix urgent incompability issue with python version < 2.7 in call to string decoding.

2.0.39

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Dec 5, 2018 16:50 -0800
--->

Bugs
* Adjusted unicode decoding to be more tolerant of bad input.
* Added support for optimized json parsing library.  Changed k8s agent to use optimized version.

2.0.38

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Nov 9, 2018 16:00 -0800
--->

Features

* Added ability to specify default values for environment variables imported in configuration files.

Bugs
* Added temporary hack to new Kubernetes support to upload Daemonsets as Deployments.

2.0.37

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Oct 19, 2018 15:00 -0700
--->

Features

* Finalized new support for Kubernetes.  Not turned on by default yet.  Will be generally available in November.

Bugs
* Fix journald monitor to system default path.

2.0.36

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Sep 21, 2018 13:00 -0700
--->

Bug fixes

* Remove / rework debug log statements that were consuming too much CPU.
* Add ability to disable the Kubernetes monitor from parsing the json log lines on the client
* Do not write out the full checkpoint.json file every iteration.  Instead, write out only the active log files on every iteration with a consolidation every one minute.

2.0.35

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Sep 19, 2018 11:00 -0700
--->

Features:

* Added support in the `kubernetes_monitor` for annotations-based configuration.  You can now specify parsers and whether or not a pod's logs can be sent to Scalyr via k8s annotations.  See documentation on `kubernetes_monitor` for more details.

Bug fixes:

* Added fixes that should eliminate memory leak.

2.0.34

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Jun 15, 2018 11:00 -0700
--->

Features:

* Added `journald_monitor` for collecting logs from a local `journald` service.  Requires installation of the Python `systemd` library.
* Added `garbage_monitor` for debugging memory consumption issues in the agent.
* Added `verify_k8s_api_queries` option to the `kubernetes_monitor` to allow disabling SSL verification on local API calls.

Bug fixes:

* Fixed issues causing the `linux_process_metrics_monitor` to throw exceptions when the monitored process dies.
* Additional debug flags to aide in investigating memory issues with the agent.

2.0.33

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on May 25, 2018 16:00 -0700
--->

Features:

* Relaxed configuration rules to allow for any config option to be specified in a configuration fragment in the `agent.d` directory.

Bug fixes:

* Fixed bug in `linux_process_metrics` that would generate errors when a monitored process died
* Fixed issue in the docker and kubernetes monitors that would prevent the agent from sending logs from short lived containers
* Fixed issue in the docker and kubernetes monitors that could cause the tail end of a containers logs to not be uploaded after it exits
* Fixed issue in docker monitor where the `metrics_only` config option was not being obeyed.
* Added various options to help investigate memory leak

2.0.32

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Apr 27, 2018 13:00 -0700
--->

Bug fixes:

* Added various options to help investigate memory leak

2.0.31

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Apr 19, 2018 11:00 -0700
--->

Features:

* Added kubernetes support with introduction of new kubernetes monitor along with kubernete image published on dockerhub.com under scalyr/scalyr-k8s-agent.  See online documentation for more information.
* Added `network_interface_suffix` option to `linux_system_metrics` monitor to control regular expression used to validate interfaces names.  Additionally, widened existing rule to accept letters at the end of the interface name.
* Added `aggregate_multiple_processes` to `linux_process_metrics` which allows multiple processes to be matched by process matching rule.  The reported metrics will include the statistics from all matching processed.
* Added `include_child_processes` to `linux_process_metrics` to include all child processes from the matched process in the reported metrics.

2.0.30

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Oct 25, 2017 13:45 -0700
--->

Features:

* Changed default for `max_line_size` to 9900 to match new larger `message` field support on the server.

Bug fixes:

* Fixed bug causing the Docker plugin to `leak` file descriptors as new containers were added while using the `docker_api` mode.

2.0.29

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Sep 29, 2017 13:45 -0700
--->

Features:

* Support to parse log lines written as a JSON object to extract line content before sending to Scalyr.  You may turn this on by setting `parse_lines_as_json` to `true` in your log configuration stanza for a particular file.  This is useful when uploading raw Docker logs.
* Read the Scalyr api key from an environment variable
* Add support for `PUT` requests to the `http_monitor`.
* Add support for replacing redacted values with a hash of the actual value.  See [the redaction documentation](https://www.scalyr.com/help/scalyr-agentredaction) for more details.

Bug fixes:

* Fix win32 build such that it correctly pulls packages from the third party repository.  This fixes a bug resulting in SOCK5 proxy support not working under Windows.

2.0.28

<!---
Packaged by Saurabh Jain <saurabhscalyr.com> on Aug 29, 2017 13:45 -0700
--->

New features:

* Upgraded `requests` library to support new proxy protocols such as `SOCKS5`.  To use `SOCKS5`, use either the `socks5` or `socks5h` protocol when specifying the proxy address (`socks5` resolves DNS addresses locally, whereas `socks5h` resolves addresses at the `SOCKS5` server).

Bug fixes:

* Fix bug preventing multiple instances of the `syslog_monitor` from logging to separate log files.

2.0.27

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Jun 2, 2017 16:45 -0700
--->

New features:

* Added new option `report_container_metrics` to `docker_monitor` to allow disabling of gathering and reporting metrics for each Docker container.

Bug fixes:

* Fix recent breakage causing the `run_monitor` code to fail.
* Fix error / warning logging in `syslog_monitor` to better capture issues with Docker support.

2.0.26

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on May 11, 2017 16:45 -0700
--->

New features:

* Added feature to allow completely disabling the use of the Docker socket in certain Docker configurations.
* New `max_log_size` and `max_log_rotations` configuration options that can be used to set the maximum length an agent-generated log file can grow before it is rotated and the maximum number of rotations to keep.

Bug fixes:

* Fix bug preventing rotated Docker files from being deleted
* Fix bug that resulted in `https_proxy` and ``http_proxy` configuration options being ignored.

2.0.25

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Apr 13, 2017 14:45 -0700
--->

New features:

* Docker integration:  Old docker log files will be deleted after unused for 1 day (by default).
* Change to pidfile format in preparation for better `systemd` support

Bug fixes:

* Syslog/Docker fix that was causing logs being uploaded with default parser instead of user-specified parser
* Minor fixes for BMP unicode

2.0.24

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Mar 22, 2017 15:15 -0700
--->

New features:

* New `rename_logfile` option to change the file name and path for a log file when uploading it to Scalyr.
* New `copy_from_start` option to instruct the agent to copy a log file from its start when it first matches.
* New metric in `linux_system_metrics` to record number of CPUs used by a machine.  Metric name is `sys.cpu.count`.
* New `strip_domain_from_default_server_host` configuration option to remove any domain name from `serverHost` when using the default value.

Bug fixes:

* Syslog/Docker fix that generated a `port already in use` error when reading new configuration file
* Syslog/Docker fix that caused dropped log lines when write rate exceeded certain threshold
* Syslog CPU performance improvements

2.0.23

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Jan 27, 2017 14:00 -0700
--->

Major overhaul of Docker support:

* New approach to improve stability across multiple versions of Docker
* Relies on Docker's `syslog` logging plugin
* Automatic collection of Docker metrics for all containers running on host
* Improved Dockerfiles to ease creating images with custom Scalyr Agent configuration
* Improved methods for configuring Scalyr Agent running within the container
* Customize where container log files are written
* See the [Docker installation documentation](https://www.scalyr.com/help/install-agent-docker) for more details.

Additional features:

* New `exclude` option for writing log matching rules.  When specifying which logs to collect using a glob pattern, you can exclude any of the matching logs using another glob.  The field value should be an array of glob patterns.
* The `import_vars` feature has been extended to work in all files in the `agent.d` directory.  The variables imported by a file are only applied to that file.
* Both the `api_key` and `scalyr_server` fields may now be set in any file in the `agent.d` directory.
* Initial support for compressing upload payloads

Bug fixes:

* Removed spurious exceptions in the `linux_process_metrics` module due to reading blank lines from `/prod/pid/io`
* Prevent log upload being wedged when encountering invalid utf-8 characters
* Prevent errors in Windows when file descriptors were attempted to be close
* More diagnostic output and defensive code for the `linux_process_metrics` module to help investigate issue

2.0.22

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Oct 10, 2016 16:00 -0700
--->

Bug fixes:

* Fixed bug in `linux_process_metrics` causing errors when monitored process disappears

2.0.21

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Oct 7, 2016 17:00 -0700
--->


Features:

* Added ability to set HTTP and HTTPS proxies via configuration file.  Use new configuration variables `http_proxy` and `https_proxy`.  You must also set `use_requests_lib` to true.
* Report the number of open file descriptors held by a process for `linux_process_metrics`.  The metric name is `app.io.fds`.
* The assigned the `scalyrAgentLog` parser to the agent log
* Added ability to skip the Scalyr connectivity check at agent start up using `--no-check-remote-server`.

Bug fixes:

* Added third-party library to fix issue with `postgres_monitor`.
* Added extra logging to track issue reported with Windows agent of silent shutdown.
* Fixed issue with `haltBefore` line grouper that prevented logs from being uploaded for several minutes.
* Changed default for `line_completion_wait_time` from 300 secs to 5 secs.
* Always delete the `*.pyc` files when doing an upgrade or uninstall

2.0.20

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Aug 10, 2016 16:00 -0700
--->

Features:

* Added feature to prevent tracking stale log files on a per-directory basis.  Reduces checkpoint size due to large directories.

2.0.19

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Jul 29, 2016 11:30 -0700
--->

Bug fixes:

* Fix bug causing agent to fail startup due to ``'module' object has no attribute 'UUID'``.
* Improved log line format for ``snmp_monitor``.  You may disable using new format by setting the monitor config option ``use_legacy_format`` to true.

2.0.18

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Jul 19, 2016 13:30 -0700
--->

Features:

* Release of new ``snmp_monitor`` plugin, used to monitor SNMP devices

Bug fixes:

* Fix bug in ``windows_process_metrics`` when matching by commandline.
* Fix invalid character bug when parsing unicode characters with decimal value > 2^16
* Fix bug in ``shell_monitor`` plugin resulting in defunct processes lingering
* Fix bug in ``url_monitor`` plugin resulting in not emitting metric in some failure cases

2.0.17

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Apr 20, 2016 13:30 -0700
--->

Features:

* Integration of new request library, allowing routing through target specified by ``proxy`` environment variable.  New library turned off by default for now.  To turn on, set ``use_requests_lib``.

Bug fixes:

* Fix ``windows_system_metrics`` monitor to no longer report disk usage on empty drives
* Fix ``mysql_monitor`` to recreate connection to db on failures
* Fix metrics names rather than throw errors when invalid metrics names are emitted by modules such as graphite.

2.0.16

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Jan 31, 2016 11:30 -0800
--->

Features:

* Windows Event Log monitor now supports the EvtLog API implemented by Windows Vista and newer system.  This allows for more expressive queries, as well as selecting events by severity level such as "Critical".

Bug fixes:

* Fix UTF-8 truncation bug in redis plugin.
* New option in redis plugin that controls logging of UTF-8 converstion errors.  See the ``utf8_warning_interval`` for more details.
* Fix bug where ``network_interface_prefixes`` option was broken when listing multiple interfaces.
* Fix ``no attribute _tunnel_host`` bug with python 2.4 ssl library

2.0.15

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Jan 4, 2016 11:30 -0800
--->

Features:

* Added plugin for reading SLOWLOG from redis
* Heavily optimized common path for copying logs to increase throughput

2.0.14

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Nov 4, 2015 11:30 -0800
--->

Features:

* New sequence id and number implementation to help prevent events being added to the database multiple times
* Create new configuration option ``max_existing_log_offset_size`` to set a limit on how far back in a log file we are willing to go for a log file we have been previously copying.
* Enabled ``syslog_monitor`` for Windows platforms
* Preview release of ``windows_event_log_monitor``, a monitor for copying the Windows event log to Scalyr.
* Preview release of docker support.  E-mail contactscalyr.com for more details
* Added new option ``network_interface_prefixes`` to linux_system_metrics monitor to override the prefix for monitored network interfaces.

Bug fixes:

* Fixed some race conditions in writing the pidfile on POSIX systems.
* Fixed bug causing agent to stop copying logs when previously copied logs are removed
* Disabled checking the command of the running agent process to guard against pid re-use since this was leading to some false negatives in the ``is the agent running`` checks.
* Remove exception logging when bad response received from server
* Print more informative message when server responds with ``server too busy``
* Fix Utf-8 encoding bug with redaction rules

2.0.13

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Aug 14, 2015 2:45 -0700
--->

Bug fixes:

* Added some extra diagnostic information to help investigate some customer issues

2.0.12

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Aug 5, 2015 15:30 -0700
--->

New features:

* Enable line groupers on the agent.  Each log file may specify line grouping rules in its configuration.  The agent can use this to group consecutive log lines together into a single logic log line.  All future sampling and redaction rules will work on this single line instead of the individual log lines.

Bug fixes:

* Close file handles for files being scanned that have not had any activity in the last hour.  Should fix too many open files bug.
* Reduce the default ``max_line_size`` value to 3400 to avoid truncation issues introduced by the server.

2.0.11

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Jun 24, 2015 11:45 -0700
--->

New features:

* Allow any monitor's metric log's rate limiter to be modified via configuration, along with flush aggregation.
* Provide ``--upgrade-without-ui`` on ``scalyr-agent-2-config`` to allow upgrading the agent without UI (Windows).
* Write user-friendly error message to event log when a major configuration problem is seen during start up (Windows)

Bug fixes:

* Do not fail Scalyr Agent service start if configuration file registry is not set (Windows).
* Remove rate limiter on metric log for graphite monitor and add in flush aggregation.
* Fix that prevented graphite monitor thread from starting when accepting both text and pickle protocols

2.0.10

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Jun 9, 2015 03:00 -0700
--->

Bug fixes:

* Prevent syslog monitor from writing syslog message to agent log.
* Performance improvement for syslog monitor to prevent it from flushing the traffic log file too often
* Fix bug in error reporting from client that caused exceptions to be thrown while logging an exception

2.0.9

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on May 28, 2015 17:00 -0700
--->

New features:

* Added syslog monitor for receiving logs via syslog protocol.

Bug fixes:

* Fix bug causing agent to temporarily stop copying logs if the underlying log file disappeared or read access was removed for Windows.

2.0.8

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Apr 15, 2015 11:30 -0700
--->

New features:

* Make log processing parameters such as ``max_log_offset_size`` adjustable via the configuration file.

Bug fixes:

* Fix bug preventing turning off default system and agent process monitors.
* Fix bugs preventing release of open file handles

2.0.7

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Apr 8, 2015 11:00 -0700
--->

Bug fixes:

* Relax metric name checking to allow including dashes.
* Fix bug where linux_system_metrics was ignoring the configured sample interval time.

2.0.6

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Apr 2, 2015 16:30 -0700
--->

New features:

* Add a new option ``--set-server-host`` in scalyr-agent-2-config to set the server host from the commandline.
* Add new instance variables ``_log_write_rate`` and ``_log_max_write_burst`` to ScalyrMonitor to allow monitor developers to override the rate limits imposed on their monitor's log.  See the comments in test_monitor.py for more details.
* Add new parameter ``emit_to_metric_log=True`` to force a log line to go to the metric log instead of the agent log for monitors.  See the comments in test_monitor.py for more details.
* Added new configuration parameters to easily change any or all monitor's sample rate.  Use ``global_monitor_sample_interval`` in the general configuration to set it for all monitors, or ``sample_interval`` in an individual monitor's config.  The value should be the number of seconds between samples and can be fractional.

Bug fixes:

* Fix failing to accept unicode characters in metric values

2.0.5

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Feb 26, 2015 13:30 -0800
--->

New features:

* Support for Windows.  Many changes to support this platform.

2.0.4

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Jan 20, 2015 13:00 -0800
--->

Bug fixes:

* Fix excessive CPU usage bug when monitoring thousands of logs that are not growing.

2.0.3

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Dec 18, 2014 14:45 -0800
--->

New features:

* The ``run_monitor.py`` takes a new option ``-d`` to set the debug level.

Bug fixes:

* Fix false warning message about file contents disappearing.
* Assign a unique thread id for each log file being copied to mimic old agent's behavior.

2.0.2

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Oct 31, 2014 12:30 -0700
--->

New features:

* Added the MySQL, Apache, and Nginx monitor plugins.
* New functions for defining and adding documentation for Scalyr Plugin Monitor configuration options, log entries, and metrics.
* Added support for variable substitution in configuration files.
* New ``print_monitor_doc.py`` tool for printing documentation for a monitor.  This tool is experimental.

Bug fixes:

* Fixed bug that prevented having release notes for multiple releases in CHANGELOG.md
* Fixed bug with CR/LF on Windows preventing log uploads

Documentation fixes:

* Updated MySQL monitor documentation to note deprecated metrics.

Internal:

* Refactored code to extract platform-specific logic in preparation for Windows work.

2.0.1

<!---
Packaged by Steven Czerwinski <czerwinscalyr.com> on Sept 15, 2014 16:15 -0700
--->

New core features:

* Complete rewrite of the Scalyr Agent in Python!
* No more Java dependency.
* Easier to configure.
* Easier to diagnosis issues.
* Monitor plugin support.
* Detailed status page.

Bugs fixed since beta and alpha testing:

* Slow memory "leak".
* graphite_module not accepting connections from localhost when only_accept_local is false.
* Ignore old pidfile if the process is no longer running.  Added pid collison detection as well.