Launcher Prodotti Bitnami Documentazioneimaxe CLI Blog Contatti
imaxe memcached cache v1.1.0

Gestisci la tua cache senza toccare file

Calcola e applica la dimensione della cache, i thread e le connessioni adatti alla tua istanza, gestisce le credenziali SASL e il certificato TLS e mostra lo stato del servizio dal vivo — il tutto senza modificare memcached.conf a mano.

$ imaxe memcached status
Versione
v1.1.0
Sottocomandi
9
Config
/etc/imaxe/memcached.yml
Richiede root
Porte
11211 TLS · 11212 local

Cosa fa questo modulo #

Memcached si configura con un file di testo e una manciata di flag: quanta RAM dedicargli, quanti thread, quante connessioni. Azzeccare quei numeri dipende dalla dimensione dell'istanza, e sbagliare costa caro — o resti a corto di cache o ti mangi la RAM che serve al sistema.

Il modulo memcached se ne occupa, e di tutto ciò che circonda il servizio: calcola il tuning a partire dalla RAM reale della macchina, gestisce le credenziali SASL (obbligatorie in questa immagine), mantiene il certificato TLS generato al primo avvio —mai incorporato nell'AMI— e ti dà lo stato dal vivo con le statistiche del servizio.

Prima di iniziare

I comandi che leggono credenziali o toccano la configurazione richiedono root (usa sudo). Attenzione a optimize: applicare valori nuovi riavvia il servizio, e un riavvio svuota la cache. Se preferisci riavviare tu, usa --no-restart.

Guida rapidaattività passo passo

Guida rapida #

Scegli cosa vuoi fare. Ogni ricetta porta il comando già scritto — copialo e premi Copia.

1

Vedere lo stato del servizio

Verifica a colpo d'occhio che la cache sia sana e quale tuning è applicato.

Collegati via SSH alla tua istanza con l'utente ubuntu.

Chiedi lo stato: vedrai su quali porte ascolta, se TLS e SASL sono attivi, il tuning applicato e le statistiche dal vivo (memoria in uso, elementi, hit e miss):

terminal
$ sudo imaxe memcached status

Ti serve per un pannello o uno script? Aggiungi --json:

terminal
$ sudo imaxe memcached status --json
Se hits cresce e evictions resta basso, la cache è ben dimensionata. Se le espulsioni schizzano, passa a Regolare la dimensione.
2

Collegarmi alla cache

Ottieni utente, password e porta per puntarci la tua applicazione.

Questa immagine richiede SASL: niente accesso anonimo. Chiedi le credenziali di questa istanza (la password esce mascherata):

terminal
$ sudo imaxe memcached credentials

Quando devi copiarla davvero, mostrala in chiaro:

terminal
$ sudo imaxe memcached credentials --show-password
La porta 11211 parla TLS; la 11212 è in chiaro e ascolta solo su loopback, per gli strumenti del sistema. Non aprire la 11211 su Internet: aprila al CIDR della tua VPC.
3

Regolare la dimensione della cache

Ricalcola memoria, thread e connessioni per la dimensione reale della macchina.

Guarda prima quali valori uscirebbero, senza toccare nulla:

terminal
$ sudo imaxe memcached optimize --show

Se ti convincono, applicali. Il servizio si riavvia e la cache si svuota:

terminal
$ sudo imaxe memcached optimize

Vuoi più cache e meno margine per il sistema? Alza la percentuale di RAM:

terminal
$ sudo imaxe memcached optimize --memory-pct 75
Con --dry-run vedi anche il blocco di configurazione che verrebbe scritto. E con --no-restart si applica senza riavviare: i valori nuovi entrano al prossimo avvio.
4

Creare utenti SASL

Crea, ruota o elimina le credenziali usate dalle tue applicazioni.

Elenca gli utenti presenti nel database SASL:

terminal
$ sudo imaxe memcached users list

Creane uno per applicazione, con password casuale:

terminal
$ sudo imaxe memcached users add app1

Password specifica? Passala sullo standard input, così non finisce né in ps né nella cronologia:

terminal
$ sudo imaxe memcached users add app1 --stdin
Per cambiare la password di un utente: imaxe memcached users rotate <utente>. Senza nome ruota quella dell'utente del prodotto.
5

Controllare il certificato TLS

Controlla la scadenza e rinnova il certificato dell'istanza.

Il certificato si genera al primo avvio di ogni istanza, quindi non è mai condiviso tra macchine. Guarda quello in uso:

terminal
$ sudo imaxe memcached tls show

Rinnovalo quando vuoi, anche se l'attuale è ancora valido:

terminal
$ sudo imaxe memcached tls renew --force
È un certificato autofirmato con validità lunga. Il tuo client dovrà fidarsene o verificarne l'impronta SHA-256, quella che stampa tls show.
Non parte, o non trova la credenziale?

Credenziale e certificato li materializza instance-setup a ogni avvio, chiamato da systemd. Se un comando risponde con il codice 65, quell'istanza non ha completato il primo avvio: controlla sudo systemctl status memcached prima di toccare altro.

Riferimento CLIcomandi, flag e file

Sinossi #

uso
imaxe memcached <sottocomando> [flags]

Quasi tutti i sottocomandi richiedono root (usa sudo) perché leggono il database SASL, il certificato o la configurazione del servizio. Aggiungi --json a status, credentials, users list o tls show per un output leggibile dalle macchine.

Sottocomandi #

SottocomandoCosa faFlag rilevanti
optimizeCalcola e applica la migliore dimensione di cache, thread e connessioni per questa istanza.--memory-pct --dry-run --show --no-restart
statusStato del servizio: ascolti, TLS, SASL, tuning applicato e statistiche dal vivo.--json
credentialsMostra le credenziali SASL di questa istanza e come collegarsi.--json --show-password
usersGestisce gli utenti SASL: list, add, rotate e delete.--password --stdin --json
set-passwordCambia la password dell'utente SASL del prodotto. Scorciatoia di users rotate.--random --stdin
open-portApre la porta di memcached nel firewall dell'host (ufw).--cidr --json
close-portChiude la porta nel firewall dell'host e rimuove le regole presenti.--json
tlsCertificato TLS di questa istanza: show e renew.--force --json
instance-setupPrepara l'istanza prima di avviare il servizio. Lo chiama systemd a ogni avvio.--bake

Argomenti e flag #

FlagTipoPredefinitoDescrizione
--memory-pctint60In optimize: percentuale della RAM utilizzabile dedicata alla cache.
--reserve-mem-mbint512In optimize: RAM in MB che non si tocca, riservata al sistema e agli altri servizi.
--threadsint0In optimize: thread di lavoro. 0 li deriva dal numero di CPU.
--max-connectionsint0In optimize: connessioni simultanee. 0 le deriva dalla dimensione della cache.
--dry-runboolfalseIn optimize: non scrive nulla; mostra i valori e il blocco di configurazione che verrebbe applicato.
--showboolfalseIn optimize: stampa solo i valori calcolati.
--no-restartboolfalseIn optimize: scrive la configurazione ma non riavvia il servizio. Un riavvio svuota la cache.
--passwordstringIn users add/rotate: password specifica. Se omessa, ne viene generata una casuale.
--stdinboolfalseIn users add/rotate: legge la password dallo standard input, così non compare in ps né nella cronologia.
--show-passwordboolfalseIn credentials: stampa la password in chiaro. Per impostazione predefinita è mascherata.
--forceboolfalseIn tls renew: rigenera anche se il certificato attuale è valido e di questa istanza.
--randomboolfalseIn set-password: genera una password forte e la stampa una sola volta.
--cidrstringIn open-port: limita la regola a quell'origine. Senza, è consentita qualsiasi origine.
--jsonboolfalseEmette il risultato come JSON strutturato su stdout.

File e percorsi #

PercorsoContenuto
/etc/imaxe/memcached.ymlConfigurazione del modulo: servizio, percorsi e valori predefiniti di optimize, TLS e SASL.
/etc/memcached.confConfigurazione di memcached. La scrive optimize: non modificarla a mano.
/etc/systemd/system/memcached.service.d/Drop-in di systemd con i parametri di avvio applicati dal modulo.
/etc/memcached/tls/Certificato e chiave privata di questa istanza, generati al primo avvio.
/etc/sasl2/memcached-sasldb2Database SASL con gli utenti e le loro password.

Esempio di memcached.yml:

/etc/imaxe/memcached.yml
service: memcached
port: 11211
optimize:
  memory_pct: 60
  memory_min_mb: 64
  reserve_mem_mb: 512
  threads: 0
  max_connections: 0
tls:
  enabled: true
  days: 3650
  plain_local_port: 11212
sasl:
  enabled: true
  user: memcached

Codici di uscita e log #

Ogni esecuzione restituisce un codice che puoi controllare con echo $? — utile per concatenare negli script:

0OKOperazione completata correttamente.
1ERRErrore generico non classificato. Controlla il log.
2USAGEArgomenti o sottocomando non validi.
64NOMEMCACHEDmemcached non è installato su questa macchina.
65NOSECRETSi richiede una credenziale che questa istanza non ha ancora generato.
66NOUFWufw non è disponibile su questa macchina.

Segui il servizio dal vivo mentre operi:

terminal
$ sudo systemctl status memcached
$ sudo journalctl -u memcached -f

Risoluzione dei problemi #

SintomoCausa probabileSoluzione
Esce NOSECRET (codice 65)L'istanza non ha completato il primo avvio, che è quando si materializza la credenziale.Controlla sudo systemctl status memcached e riprova.
Esce NOMEMCACHED (codice 64)Il modulo è installato ma memcached non è sull'host.Sei su un'immagine diversa da quella del prodotto: installa memcached o usa l'AMI giusta.
Molte evictions in statusLa cache è piccola per quello che memorizzi: gli elementi vengono espulsi per fare spazio.Alza la percentuale con optimize --memory-pct o passa a un'istanza con più RAM.
La cache appare vuota all'improvvisoIl servizio si è riavviato, e memcached non persiste nulla su disco.Normale dopo optimize. Per applicare senza riavviare, usa --no-restart.
Il client rifiuta il certificatoÈ autofirmato e proprio di ogni istanza.Fidati nel tuo client o valida l'impronta con tls show.

Bloccato con il modulo Memcached?

Scrivici allegando l'output di «imaxe <module> status --json» e ti rispondiamo in fretta.

Contatta il supporto