Giter Site home page Giter Site logo

nginx-amplify-doc's Introduction

NGINX Amplify Documentation

This directory contains all of the user documentation for NGINX Amplify, as well as the requirements for linting, building, and publishing the documentation.

Docs are written in Markdown. We build the docs using Hugo and host them on Netlify.

Setup

  1. To install Hugo locally, refer to the Hugo installation instructions.

    NOTE: We are currently running Hugo v0.115.3 in production.

  2. We use markdownlint to check that Markdown files are correct. Use npm to install markdownlint-cli:

    npm install -g markdownlint-cli   

Local Docs Development

To build the docs locally, run the desired make command from the docs directory:

make clean          -   removes the local `public` directory, which is the default output path used by Hugo
make docs           -   runs a local hugo server so you can view docs in your browser while you work
make hugo-mod       -   cleans the Hugo module cache and fetches the latest version of the theme module
make docs-drafts    -   runs the local hugo server and includes all docs marked with `draft: true`

Linting

  • To run the markdownlint check, run the following command from the docs directory:

    markdownlint -c docs/mdlint_conf.json content

    Note: You can run this tool on an entire directory or on an individual file.

Add new docs

Generate a new doc file using Hugo

To create a new doc file that contains all of the pre-configured Hugo front-matter and the docs task template, run the following command in the docs directory:

hugo new <SECTIONNAME>/<FILENAME>.<FORMAT>

For example:

hugo new getting-started/install.md

The default template -- task -- should be used for most docs. To create docs using the other content templates, you can use the --kind flag:

hugo new tutorials/deploy.md --kind tutorial

The available content types (kind) are:

  • concept: Helps a customer learn about a specific feature or feature set.
  • tutorial: Walks a customer through an example use case scenario; results in a functional PoC environment.
  • reference: Describes an API, command line tool, config options, etc.; should be generated automatically from source code.
  • troubleshooting: Helps a customer solve a specific problem.
  • openapi: Contains front-matter and shortcode for rendering an openapi.yaml spec

How to format docs

How to format internal links

Format links as Hugo refs.

  • File extensions are optional.
  • You can use relative paths or just the filename. (Paths without a leading / are first resolved relative to the current page, then to the remainder of the site.)
  • Anchors are supported.

For example:

To install <product>, refer to the [installation instructions]({{< ref "install" >}}).

How to include images

You can use the img shortcode to add images into your documentation.

  1. Add the image to the static/img directory, or to the same directory as the doc you want to use it in.

    • DO NOT include a forward slash at the beginning of the file path. This will break the image when it's rendered. See the docs for the Hugo relURL Function to learn more.
  2. Add the img shortcode:

    {{< img src="<img-file.png>" >}}

Note: The shortcode accepts all of the same parameters as the Hugo figure shortcode.

How to use Hugo shortcodes

You can use Hugo shortcodes to do things like format callouts, add images, and reuse content across different docs.

For example, to use the note callout:

{{< note >}}Provide the text of the note here. {{< /note >}}

The callout shortcodes also support multi-line blocks:

{{< caution >}}
You should probably never do this specific thing in a production environment. 

If you do, and things break, don't say we didn't warn you.
{{< /caution >}}

Supported callouts:

  • caution
  • important
  • note
  • see-also
  • tip
  • warning

A few more fun shortcodes:

  • fa: inserts a Font Awesome icon
  • img: include an image and define things like alt text and dimensions
  • include: include the content of a file in another file; the included file must be present in the content/includes directory
  • link: makes it possible to link to a file and prepend the path with the Hugo baseUrl
  • openapi: loads an OpenAPI spec and renders as HTML using ReDoc
  • raw-html: makes it possible to include a block of raw HTML
  • readfile: includes the content of another file in the current file; does not require the included file to be in a specific location

nginx-amplify-doc's People

Contributors

achawla2012 avatar adubhlaoich avatar akamoroz avatar bheftel avatar defanator avatar dwmcallister avatar igor-meleshchenko-deel avatar jcahilltorre avatar jputrino avatar megazoll avatar nginx-jack avatar nkashiv avatar poluyanov avatar pravdomil avatar richbrowne avatar travisamartin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nginx-amplify-doc's Issues

Please support debian12

Get:1 file:/etc/apt/mirrors/debian.list Mirrorlist [39 B]
Get:3 file:/etc/apt/mirrors/debian-security.list Mirrorlist [27 B]
Hit:6 https://repos.insights.digitalocean.com/apt/do-agent main InRelease
Hit:7 https://repos-droplet.digitalocean.com/apt/droplet-agent main InRelease
Hit:2 http://mirrors.digitalocean.com/debian bookworm InRelease
Hit:4 http://mirrors.digitalocean.com/debian bookworm-updates InRelease
Hit:5 http://mirrors.digitalocean.com/debian bookworm-backports InRelease
Hit:8 http://security.debian.org bookworm-security InRelease
Ign:9 https://packages.amplify.nginx.com/debian bookworm InRelease
Err:10 https://packages.amplify.nginx.com/debian bookworm Release
404 Not Found [IP: 52.24.43.197 443]
Reading package lists... Done
E: The repository 'https://packages.amplify.nginx.com/debian bookworm Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

  1. Updating repository ... failed.

Please check the list of the supported systems here https://git.io/vKkev

root@debian-s-2vcpu:# ^C
root@debian-s-2vcpu:
# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm

Adding public key ...(23) Failed writing body

I am trying to install inside docker.latest.
I have two bind volumes.

host/docker/nginx/etc/nginx:/etc/nginx r/o
host/docker/nginx/etc/amplify-agent:/etc/amplify-agent r/w

I am getting a failed writing body, I cant find this error inside the sintall.sh so assume something else is throwing this that the script is calling?

root@nginx1:/# API_KEY='mykey5' sh ./install.sh                                                                                                          
                                                                                                                                                                                   
 --- This script will install the NGINX Amplify Agent package ---                                                                                                                  
                                                                                                                                                                                   
  1. Checking admin user ... root, ok.                                                                                                                                             
  2. Checking API key ... using 7a9ce857bdb29488c45e0fabcf7b9cf5                                                                                                                   
  3. Checking if uuid should be stored in the config ... False                                                                                                                     
  4. Checking Python ... found python 2.7                                                                                                                                          
  5. Checking OS compatibility ... debian detected.                                                                                                                                
  6. Adding public key ...(23) Failed writing body                                                                                                                                 
 failed.                                                                                                                                                                           
                    

Fail on ubuntu 14.02

I run the command on ubuntu 14.02, it shows follow error.

Reading package lists... Error!                                                
Segmentation fault

  7. Updating repository ... failed.

 Please check the list of supported systems here https://git.io/vKkev

and my python version is Python 2.7.6.

Not Installing Agent at Amazon Linux 2

Hello, I'm getting this errors when installing at my ec2 instance. I have both python 2.7 and 3.8 present on the system

Error: Package: python36-pysocks-1.6.8-7.el7.noarch (epel)
Requires: python(abi) = 3.6
Installed: python-2.7.18-1.amzn2.0.5.x86_64 (@amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Installed: python3-3.7.10-1.amzn2.0.1.x86_64 (@amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Installed: python38-3.8.5-1.amzn2.0.2.x86_64 (@amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Available: python-2.7.5-58.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.14-58.amzn2.0.2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.14-58.amzn2.0.3.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.14-58.amzn2.0.4.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-1.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-2.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-3.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-4.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-5.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.3.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.4.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python3-3.7.0-0.12.b2.amzn2.0.2.x86_64 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.0-0.16.b3.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.0-0.20.rc1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.0-0.20.rc1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.1-9.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.2-4.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.3-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.3-1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.3.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.4.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.6-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.8-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.9-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.9-1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.9-1.amzn2.0.3.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python34-3.4.10-8.el7.x86_64 (epel)
python(abi) = 3.4
Available: python38-3.8.2-2.amzn2.0.5.x86_64 (amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Available: python38-3.8.3-1.amzn2.0.1.x86_64 (amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Available: python38-3.8.5-1.amzn2.0.1.x86_64 (amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Error: Package: python36-idna-2.10-1.el7.noarch (epel)
Requires: python(abi) = 3.6
Installed: python-2.7.18-1.amzn2.0.5.x86_64 (@amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Installed: python3-3.7.10-1.amzn2.0.1.x86_64 (@amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Installed: python38-3.8.5-1.amzn2.0.2.x86_64 (@amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Available: python-2.7.5-58.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.14-58.amzn2.0.2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.14-58.amzn2.0.3.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.14-58.amzn2.0.4.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-1.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-2.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-3.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-4.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-5.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.3.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.4.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python3-3.7.0-0.12.b2.amzn2.0.2.x86_64 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.0-0.16.b3.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.0-0.20.rc1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.0-0.20.rc1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.1-9.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.2-4.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.3-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.3-1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.3.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.4.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.6-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.8-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.9-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.9-1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.9-1.amzn2.0.3.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python34-3.4.10-8.el7.x86_64 (epel)
python(abi) = 3.4
Available: python38-3.8.2-2.amzn2.0.5.x86_64 (amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Available: python38-3.8.3-1.amzn2.0.1.x86_64 (amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Available: python38-3.8.5-1.amzn2.0.1.x86_64 (amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Error: Package: python36-chardet-3.0.4-1.el7.noarch (epel)
Requires: python(abi) = 3.6
Installed: python-2.7.18-1.amzn2.0.5.x86_64 (@amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Installed: python3-3.7.10-1.amzn2.0.1.x86_64 (@amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Installed: python38-3.8.5-1.amzn2.0.2.x86_64 (@amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Available: python-2.7.5-58.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.14-58.amzn2.0.2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.14-58.amzn2.0.3.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.14-58.amzn2.0.4.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-1.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-2.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-3.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-4.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-5.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.3.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.4.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python3-3.7.0-0.12.b2.amzn2.0.2.x86_64 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.0-0.16.b3.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.0-0.20.rc1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.0-0.20.rc1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.1-9.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.2-4.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.3-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.3-1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.3.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.4.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.6-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.8-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.9-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.9-1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.9-1.amzn2.0.3.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python34-3.4.10-8.el7.x86_64 (epel)
python(abi) = 3.4
Available: python38-3.8.2-2.amzn2.0.5.x86_64 (amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Available: python38-3.8.3-1.amzn2.0.1.x86_64 (amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Available: python38-3.8.5-1.amzn2.0.1.x86_64 (amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Error: Package: python36-requests-2.14.2-2.el7.noarch (epel)
Requires: python(abi) = 3.6
Installed: python-2.7.18-1.amzn2.0.5.x86_64 (@amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Installed: python3-3.7.10-1.amzn2.0.1.x86_64 (@amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Installed: python38-3.8.5-1.amzn2.0.2.x86_64 (@amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Available: python-2.7.5-58.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.14-58.amzn2.0.2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.14-58.amzn2.0.3.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.14-58.amzn2.0.4.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-1.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-2.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-3.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-4.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-5.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.3.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.4.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python3-3.7.0-0.12.b2.amzn2.0.2.x86_64 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.0-0.16.b3.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.0-0.20.rc1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.0-0.20.rc1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.1-9.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.2-4.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.3-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.3-1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.3.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.4.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.6-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.8-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.9-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.9-1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.9-1.amzn2.0.3.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python34-3.4.10-8.el7.x86_64 (epel)
python(abi) = 3.4
Available: python38-3.8.2-2.amzn2.0.5.x86_64 (amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Available: python38-3.8.3-1.amzn2.0.1.x86_64 (amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Available: python38-3.8.5-1.amzn2.0.1.x86_64 (amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Error: Package: python36-chardet-3.0.4-1.el7.noarch (epel)
Requires: /usr/bin/python3.6
Error: Package: python36-urllib3-1.25.6-2.el7.noarch (epel)
Requires: python(abi) = 3.6
Installed: python-2.7.18-1.amzn2.0.5.x86_64 (@amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Installed: python3-3.7.10-1.amzn2.0.1.x86_64 (@amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Installed: python38-3.8.5-1.amzn2.0.2.x86_64 (@amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Available: python-2.7.5-58.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.14-58.amzn2.0.2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.14-58.amzn2.0.3.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.14-58.amzn2.0.4.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-1.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-2.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-3.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-4.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-5.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.3.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.4.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python3-3.7.0-0.12.b2.amzn2.0.2.x86_64 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.0-0.16.b3.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.0-0.20.rc1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.0-0.20.rc1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.1-9.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.2-4.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.3-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.3-1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.3.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.4.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.6-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.8-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.9-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.9-1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.9-1.amzn2.0.3.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python34-3.4.10-8.el7.x86_64 (epel)
python(abi) = 3.4
Available: python38-3.8.2-2.amzn2.0.5.x86_64 (amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Available: python38-3.8.3-1.amzn2.0.1.x86_64 (amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Available: python38-3.8.5-1.amzn2.0.1.x86_64 (amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Error: Package: python36-six-1.14.0-3.el7.noarch (epel)
Requires: python(abi) = 3.6
Installed: python-2.7.18-1.amzn2.0.5.x86_64 (@amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Installed: python3-3.7.10-1.amzn2.0.1.x86_64 (@amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Installed: python38-3.8.5-1.amzn2.0.2.x86_64 (@amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Available: python-2.7.5-58.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.14-58.amzn2.0.2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.14-58.amzn2.0.3.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.14-58.amzn2.0.4.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-1.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-2.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-3.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-4.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.16-5.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.2.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.3.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python-2.7.18-1.amzn2.0.4.x86_64 (amzn2-core)
python(abi) = 2.7
python(abi) = 2.7
Available: python3-3.7.0-0.12.b2.amzn2.0.2.x86_64 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.0-0.16.b3.amzn2.0.1.x86_64 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.0-0.20.rc1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.0-0.20.rc1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.1-9.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.2-4.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.3-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.3-1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.3.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.4-1.amzn2.0.4.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.6-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.8-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.9-1.amzn2.0.1.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.9-1.amzn2.0.2.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python3-3.7.9-1.amzn2.0.3.i686 (amzn2-core)
python(abi) = 3.7
python(abi) = 3.7
Available: python34-3.4.10-8.el7.x86_64 (epel)
python(abi) = 3.4
Available: python38-3.8.2-2.amzn2.0.5.x86_64 (amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Available: python38-3.8.3-1.amzn2.0.1.x86_64 (amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
Available: python38-3.8.5-1.amzn2.0.1.x86_64 (amzn2extra-python3.8)
python(abi) = 3.8
python(abi) = 3.8
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

  1. Installing nginx-amplify-agent package ... failed.

You are either do not bind email to support contract or From: address differ from envelope address

I am trying to send e-mail to support from the same email registered on nginx amplify however still getting response.

Reported error: 554 5.7.1 [email protected]: Recipient address rejected: envelope-sender address is not listed as permitted for the request tracker. You are either do not bind email to support contract or From: address differ from envelope address

anyone can confirm what the issue might be?

stub_status.conf include can break all virtual hosts

The recommendations in the docs at https://github.com/nginxinc/nginx-amplify-doc/blob/master/amplify-guide.md#configuring-nginx-for-metric-collection can cause all your virtualhosts to go down. Trust me it happened to me yesterday when I tried this suggestion.

The suggested method of using an include in /conf.d/ that gets loaded into every vhost causes multiple listen commands to be inserted into your virtualhosts essentially breaking them.

The docs suggest you do your include as follows

# cat > conf.d/stub_status.conf
server {
    listen 127.0.0.1:80;
    server_name 127.0.0.1;
    location /nginx_status {
        stub_status on;
        allow 127.0.0.1;
        deny all;
    }
}

But you should actually (if you are going to use it as in include) do it rather as follows.

# cat > conf.d/stub_status.conf
    location /nginx_status {
        stub_status on;
        allow 127.0.0.1;
        deny all;
}

But you actually do not even need to do this. You only need the nginx_status stub in your default site and nowhere else.

So instead in your site's default virtualhost only, add the following within the server {} block. The default site is always the first to be answer a request and then pass it along to a virtualhost so just having the stub in your /etc/nginx/sites-available/default file is all you need to do.

location /nginx_status {
        stub_status on;
        access_log   off;
        allow 127.0.0.1;
        deny all;
}

Support ARM64 on Debian 10

I have a raspberry pi 4 running a LEMP stack that I would like Amplify installed on, but ARM64 only seems to be supported on Ubuntu 18.04/16.04. Will ARM64 versions of Amplify be available for Debian 10 in the near future?

Failed install script on Debian when nginx is part of other groups

When trying to install on Debian 8 I receive the following error:

9. ...
10. Checking if sudo -u nginx can be used for tests ... failed. (109 != nginx)
11. ...

when I check:

root@myhost:~/nginx_amplify# id nginx
uid=109(nginx) gid=115(nginx) groups=115(nginx),1001(example1.com),1002(example2.com),1003(example3.com),1004(example4.com),1005(example5.com)

When I open the install.sh on a row 472:

sudo_output=`sudo -u ${amplify_user} /bin/sh -c "id -un" 2>/dev/null`

When I run just:

root@myhost:~/nginx_amplify# id -un nginx
nginx

But when I run:

root@myhost:~/nginx_amplify# sudo -u nginx /bin/sh -c "id -un" 2>/dev/null
109

Please, note the difference of receving the username and the uid!

The rest is almost expected:
The row 474:
if [ "${sudo_output}" = "${amplify_user}" ]; then
or in other words... if (109 == nginx) leads us to the error row 477: (109 != nginx)

when trying to launch with

root@myhost:~/nginx_amplify# systemctl status amplify-agent.service
● amplify-agent.service - LSB: Stop/start nginx-amplify-agent
   Loaded: loaded (/etc/init.d/amplify-agent)
   Active: failed (Result: exit-code) since Sun 2016-11-27 05:03:04 EET; 5s ago
  Process: 12137 ExecStart=/etc/init.d/amplify-agent start (code=exited, status=1/FAILURE)

Nov 27 05:03:04 amplify-agent[12137]: File "/usr/lib/python2.7/sysconfig.py", line 210, in _getuserbase
Nov 27 05:03:04 amplify-agent[12137]: return env_base if env_base else joinuser("~", ".local")
Nov 27 05:03:04 amplify-agent[12137]: File "/usr/lib/python2.7/sysconfig.py", line 196, in joinuser
Nov 27 05:03:04 amplify-agent[12137]: return os.path.expanduser(os.path.join(*args))
Nov 27 05:03:04 amplify-agent[12137]: File "/usr/lib/python2.7/posixpath.py", line 269, in expanduser
Nov 27 05:03:04 amplify-agent[12137]: userhome = pwd.getpwuid(os.getuid()).pw_dir
Nov 27 05:03:04 amplify-agent[12137]: KeyError: 'getpwuid(): uid not found: 109'
Nov 27 05:03:04 systemd[1]: amplify-agent.service: control process exited, code=exited status=1
Nov 27 05:03:04 systemd[1]: Failed to start LSB: Stop/start nginx-amplify-agent.
Nov 27 05:03:04 systemd[1]: Unit amplify-agent.service entered failed state.
root@myhost:~/nginx_amplify# 

Fedora OS Support

I just got my invite to Amplify. But quickly got sad as my server is Fedora Cloud 23 on Digitalocean and Fedora server at home. I had read FAQ and thought that since script is supporting RHEL 7 ( which is derived from fedora 20 with features back ported from all the way from F22. ) It should work well in F23. But it looks like there is no repo for fedora.

When can I be able to use this with Fedora Server and Fedora Cloud?

Oracle Linux Support

install.sh does not support Oracle Linux.
But Oracle Linux = RHEL

I've modified script and all installation is success.

Please, add this OS supporting.

# uname -a
Linux 3.8.13-68.1.3.el7uek.x86_64 #2 SMP Wed Apr 22 11:51:54 PDT 2015 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/*-release
Oracle Linux Server release 7.1
NAME="Oracle Linux Server"
VERSION="7.1"
ID="ol"
VERSION_ID="7.1"
PRETTY_NAME="Oracle Linux Server 7.1"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:7:1"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://bugzilla.oracle.com/"

ORACLE_BUGZILLA_PRODUCT="Oracle Linux 7"
ORACLE_BUGZILLA_PRODUCT_VERSION=7.1
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=7.1
Red Hat Enterprise Linux Server release 7.1 (Maipo)
Oracle Linux Server release 7.1

The source code for the Amplify Agent no longer exists

The source code for the Amplify Agent used to be hosted under https://github.com/nginxinc/nginx-amplify-agent, but as of June 7th 2022, the repository history has been expunged and we can no longer build from source.

This also means that this documentation is out of date.

Where can we find the source for the amplify agent so we can install it on systems unsupported by the install script, eg alpine?

Edit: It also means that https://github.com/nginxinc/docker-nginx-amplify doesn't work, not that it was actively supported anyway.

I justs curl installed Amplify but couldn's start the agent before updating pyOpenSSL to 16.2.0

Hi there,

I just installed Amplify using the curl method, but I couldn't start the agent:

# systemctl status amplify-agent.service
● amplify-agent.service - LSB: Stop/start nginx-amplify-agent
   Loaded: loaded (/etc/init.d/amplify-agent; bad; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sex 2017-08-11 13:37:56 BRT; 1min 5s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 14962 ExecStart=/etc/init.d/amplify-agent start (code=exited, status=1/FAILURE)

Ago 11 13:37:56 brunotikami amplify-agent[14962]:     import OpenSSL.SSL
Ago 11 13:37:56 brunotikami amplify-agent[14962]:   File "/usr/lib/python2.7/dist-packages/OpenSSL/__init__.py", line 8, in <module>
Ago 11 13:37:56 brunotikami amplify-agent[14962]:     from OpenSSL import rand, crypto, SSL
Ago 11 13:37:56 brunotikami amplify-agent[14962]:   File "/usr/lib/python2.7/dist-packages/OpenSSL/SSL.py", line 118, in <module>
Ago 11 13:37:56 brunotikami amplify-agent[14962]:     SSL_ST_INIT = _lib.SSL_ST_INIT
Ago 11 13:37:56 brunotikami amplify-agent[14962]: AttributeError: 'module' object has no attribute 'SSL_ST_INIT'
Ago 11 13:37:56 brunotikami systemd[1]: amplify-agent.service: Control process exited, code=exited status=1
Ago 11 13:37:56 brunotikami systemd[1]: Failed to start LSB: Stop/start nginx-amplify-agent.

I found this issue and decided to update pyOpenSSL:

# pip install -U pyOpenSSL==16.2.0
Collecting pyOpenSSL==16.2.0
  Downloading pyOpenSSL-16.2.0-py2.py3-none-any.whl (43kB)
    100% |████████████████████████████████| 51kB 174kB/s 
Collecting cryptography>=1.3.4 (from pyOpenSSL==16.2.0)
  Downloading cryptography-2.0.3-cp27-cp27mu-manylinux1_x86_64.whl (2.2MB)
    100% |████████████████████████████████| 2.2MB 628kB/s 
Requirement already up-to-date: six>=1.5.2 in /usr/local/lib/python2.7/dist-packages (from pyOpenSSL==16.2.0)
Requirement already up-to-date: ipaddress in /usr/local/lib/python2.7/dist-packages (from cryptography>=1.3.4->pyOpenSSL==16.2.0)
Collecting idna>=2.1 (from cryptography>=1.3.4->pyOpenSSL==16.2.0)
  Downloading idna-2.6-py2.py3-none-any.whl (56kB)
    100% |████████████████████████████████| 61kB 2.7MB/s 
Requirement already up-to-date: asn1crypto>=0.21.0 in /usr/local/lib/python2.7/dist-packages (from cryptography>=1.3.4->pyOpenSSL==16.2.0)
Requirement already up-to-date: enum34 in /usr/local/lib/python2.7/dist-packages (from cryptography>=1.3.4->pyOpenSSL==16.2.0)
Requirement already up-to-date: cffi>=1.7 in /usr/local/lib/python2.7/dist-packages (from cryptography>=1.3.4->pyOpenSSL==16.2.0)
Requirement already up-to-date: pycparser in /usr/local/lib/python2.7/dist-packages (from cffi>=1.7->cryptography>=1.3.4->pyOpenSSL==16.2.0)
Installing collected packages: idna, cryptography, pyOpenSSL
  Found existing installation: idna 2.5
    Uninstalling idna-2.5:
      Successfully uninstalled idna-2.5
  Found existing installation: cryptography 2.0
    Uninstalling cryptography-2.0:
      Successfully uninstalled cryptography-2.0
  Found existing installation: pyOpenSSL 0.15.1
    Uninstalling pyOpenSSL-0.15.1:
      Successfully uninstalled pyOpenSSL-0.15.1
Successfully installed cryptography-2.0.3 idna-2.6 pyOpenSSL-16.2.0
root@brunotikami:/home/bruno# service amplify-agent start
root@brunotikami:/home/bruno# 

And now it works!

SuSE not supported

Hi , second largest Linux corp in the world isn´t supported, can you add support for SuSE ?

Thanks

Cannot fully uninstall

Amplify did not work for me, so I uninstalled it using:

apt-get remove nginx-amplify-agent

But now when I try to update, I get this:

$ sudo apt update Hit:1 http://mirrors.linode.com/ubuntu hirsute InRelease Hit:2 http://mirrors.linode.com/ubuntu hirsute-updates InRelease Hit:3 http://mirrors.linode.com/ubuntu hirsute-backports InRelease Hit:4 http://mirrors.linode.com/ubuntu hirsute-security InRelease Ign:5 https://packages.amplify.nginx.com/ubuntu/dists focal InRelease Err:6 https://packages.amplify.nginx.com/ubuntu/dists focal Release 404 Not Found [IP: 52.24.43.197 443] Reading package lists... Done E: The repository 'https://packages.amplify.nginx.com/ubuntu/dists focal Release' does not have a Release file. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details.

How do I correct this? Thank you.

Ubuntu 20.04 support

Please add release support for Ubuntu 20.04 . Currently we can't install amplify agent in Ubuntu 20.04

# error.log
Get:11 http://security.ubuntu.com/ubuntu focal-security InRelease [107 kB]     
Ign:12 https://packages.amplify.nginx.com/ubuntu focal InRelease               
Get:13 https://packages.amplify.nginx.com/ubuntu focal Release [3,278 B]       
Ign:14 https://packages.amplify.nginx.com/ubuntu focal Release.gpg
Reading package lists... Done
E: The repository 'https://packages.amplify.nginx.com/ubuntu focal Release' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

  8. Updating repository ... failed.

 Please check the list of the supported systems here https://git.io/vKkev

Cannot get Amplify to monitor MariaDB/mysql. amplify.agent.common.errors.AmplifySubprocessError

I am running an Ubuntu based LEMP server, and trying to get MariaDB to show up on Nginx-amplify but it is not working after following several tutorials, as well as the amplify documentation. I have posted this question on serverfault, and got an answer to this, but there was no explanation as to how the recommended changes would affect my system. So I am reposting the question here in hopes that someone can please verify the server fault answer is the best answer, and that this won't negatively impact my system in terms of SECURITY, and performance. Any explanation of the answer or elaboration on it would be HIGHLY appreciated. Any additional answers or BETTER SOLUTIONS would be even more appreciated! Below is my Server Fault question and the answer I received from a user account that is only 11 days old (this makes me skeptical of the solution, which I why I am posting here to verify).

Thanks for your help!

QUESTION:
I am trying to get amplify to monitor mysql database on ubuntu server 20.04 running on a raspberry pi 4. I am sure I have set everything up correctly and have cross-referenced my work with many internet guides. However, mariadb does not appear in the Nginx amplify web interface after setting things up. My logs show the following errors:

2022-08-08 10:32:41,134 [1824839] supervisor ps nginx output: ['   2074       1 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf', '1740162    2074 nginx: worker process', '1740163    2074 nginx: worker process', '1740165    2074 nginx: worker process', '1740166    2074 nginx: worker process', '1740168    2074 nginx: cache manager process', '']
2022-08-08 10:32:41,161 [1824839] supervisor nginx objects: ['5057a79cf47c63d99f326ae55fea2c99bc0e2dcfd6bc5cdc5492d770f0a55284']
2022-08-08 10:32:41,162 [1824839] supervisor status objects: []
2022-08-08 10:32:41,162 [1824839] supervisor api objects: []
2022-08-08 10:32:41,228 [1824839] supervisor failed to find running mysqld via "ps xao pid,ppid,command | grep -E 'mysqld( |$)'" due to AmplifySubprocessError
2022-08-08 10:32:41,228 [1824839] supervisor additional info:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/amplify/ext/mysql/managers.py", line 154, in _find_local
    ps, _ = (ps, None) if ps is not None else subp.call(PS_CMD)
  File "/usr/lib/python3/dist-packages/amplify/agent/common/util/subp.py", line 34, in call
    raise AmplifySubprocessError(message=command, payload=dict(returncode=process.returncode, error=raw_err))
amplify.agent.common.errors.AmplifySubprocessError: (message=ps xao pid,ppid,command | grep -E 'mysqld( |$)', payload={'returncode': 1, 'error': ''})
2022-08-08 10:32:41,229 [1824839] supervisor mysql objects: []

Does anyone understand these errors and could you help me fix this to get mariaDB showing up on Nginx Amplify?

ANSWER:
The mariadb daemon is called 'mariadbd' and amplify-agent is looking for 'mysqld'.
If you run

systemctl status mariadb

Then the line starting with 'loaded' should have the location of the service file

Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
In this case it is '/lib/systemd/system/mariadb.service'. Open the file in a text editor and find the line starting

ExecStart=
Then change the path from pointing to 'mariadbd' to 'mysqld'. Then you need to reload the daemon and restart the services.

systemctl daemon-reload
systemctl restart mariadb
systemctl restart amplify-agent

The agent should now be able to find the process.

Better docs for extended log format

Some metrics require the additional variables to be added into the log format, but it is unclear where to put it.

For example, description for nginx.http.gzip.ratio says:

Achieved compression ratio, calculated as the ratio between the original and compressed response sizes.
Source: access.log (requires custom log format)
Variable: $gzip_ratio

But the docs for log format doesn't say anything about this variable and doesn't provide an example.

is there anyway to use a different user for php-fpm socket?

my php-fpm setting is

listen.owner = my-user
listen.group = my-user
listen.mode = 0660

but amplify requires,
listen.owner = www-data
listen.group = www-data
listen.mode = 0660

is there a way I can change this on the amplify setting to match my php-fpm user?

Error with setuptools-34.3.3

Alpine 3.4

setuptools-34.3.3 causes an error with
File "/nginx-amplify-agent/amplify/packaging/requirements.py", line 59, in
MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker")
TypeError: call() takes exactly 2 arguments (1 given)

doesn't happen with setuptools-33.1.1
http://stackoverflow.com/a/42035091/1516104

OR setting File "/nginx-amplify-agent/amplify/packaging/requirements.py", line 59 as
MARKER_EXPR = originalTextFor(MARKER_EXPR(""))("marker")
allows for successful completion

disk I/O data

Receiving 'Metrics unavailable' error in the System log Disk I/O session, the doc says 'There is no easy workaround for this except for allowing the agent to run as root. Sometimes fixing permissions for /proc and /sys/block may work.'
How do I run the agent as root or change folder permission?

[Question] Issue with supported systems

Is there any chance this will be released for jammy version soon?

When trying to install nginx amplify I discovered that I couldn't due to incompatibility, since the last working version is focal fossa.
This latest version has been on for almost 3 months. I wouldn't like having to migrate back to an older version.

Thanks in advance.

NgxParserDirectiveContextError false positive

This seems to possibly stem from an old bug in nginx itself, which was incorrectly blocking include directives inside an if block. However include directives are allowed in any context. The bug was solved quite a while back, I found this old bug report pointing to the same:

https://trac.nginx.org/nginx/ticket/1615

nginx -t is showing no errors whatsoever on the conf, but the amplify-agent is reporting the error about the line.

PHP-FPM metrics is not receiving data.

I'm not sure if I am missing something, but running the following results in a 404

SCRIPT_NAME=/status SCRIPT_FILENAME=/status QUERY_STRING= REQUEST_METHOD=GET cgi-fcgi -bind -connect /var/run/php/php8.2-fpm.sock
Primary script unknownStatus: 404 Not Found
Content-type: text/html; charset=UTF-8

File not found.

I ran sudo apt install libfcgi-dev which installed libfcgi-dev

Does Nginx need to know about /status?

My monitoring is not showing anything coming from PHP-FPM.

dpkg: error processing package nginx-amplify-agent (--configure):

Hi

on ubuntu 16.04 getting

sudo apt-get install nginx-amplify-agent 

Reading package lists... Done
Building dependency tree
Reading state information... Done
nginx-amplify-agent is already the newest version (0.33-1xenial).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n]
Setting up nginx-amplify-agent (0.33-1
xenial) ...
dpkg: error processing package nginx-amplify-agent (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
nginx-amplify-agent
E: Sub-process /usr/bin/dpkg returned an error code (1)

This is on a dev laptop so not prod - I can help t/s further ... just give a nod

Fail on Ubuntu 16.04

I'm having the same problem when install Amplify on Ubuntu 16.04.

The issue looks like below:

Screenshot 2019-12-15 at 22 16 47

I follow the instruction by doing the following steps with root permission:

curl -L -O https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.shv
API_KEY='<my_api_key>' sh ./install.sh

Does anyone know how to solve this?

Thank you

Python 3 / 20.04LTS

Hi,
Any schedule to support 20.04.xLTS w/ the default python (3.8.5 as of today)? It's the new default!

Thanks!

Amplify: No running nginx instances

Hi,

I have a question:

Amplify is running fine in the sense that I have data in my Overview and Graphs. However if I go to Analyzer it states: 'No running nginx instances'.

From in Inventory perspective is stated that 1 System is up, but there no (0) NGINX found.

The agent log is filling and showing bytes being forwarded to https://receiver.amplify.nginx.com:443 all with a 202 response.

A curl http://127.0.0.1/nginx_status from the local nginx machine results in
Active connections: 1
server accepts handled requests
87 87 87
Reading: 0 Writing: 1 Waiting: 0

And tips on how to solve this issue?

Kind regards,

Dave

Stub_status.conf, 'stub_status on' vs 'stub_status'

Hi,

It seems that within stub_status.conf, 'stub_status on' and 'stub_status' have the same effect.
What I learned online is that it might have something to do with changes made in version 1.7.5.
However I don't see this reflected in the documentation.

stub_status; # freely available with open source NGINX ?
stub_status on; # for open source NGINX < version 1.7.5 ?
status; # available only with NGINX Plus ?
source: https://docs.datadoghq.com/integrations/nginx/

Curious to learn about the effects of the different options.

Kind regards,

Dave

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.